我有很多测试,其中一些名称中有“(慢)”:
其中一些比标记为(慢)的测试慢,但其他测试依赖于它们,因此不能跳过。我只想跳过名称中带有(慢)的那些——这可能吗?
我正在使用 Mocha 。
最佳答案
在我看来,您正在为要在浏览器中加载以运行 Mocha 的页面执行此操作。要在浏览器中执行此操作,您可以在页面的 URL 中传递这些参数:
grep
大致对应于命令行上的--grep
选项。这将运行的测试范围缩小到与传递给grep
的表达式相匹配的测试。但是,目前(甚至从 2.0.1 开始)没有办法让 Mocha 将此参数解释为正则表达式。它总是被解释为一个字符串。这就是为什么我说“大约对应”。命令行中的--grep
是正则表达式,而URL中传递的grep
参数是字符串。invert
对应命令行的--invert
选项。这将反转grep
执行的匹配,从而选择grep
不匹配的测试。
因此,如果您通过附加以下字符串 ?grep=(slow)&invert=1
打开页面,它将运行没有字符串 "(slow)"< 的测试
在里面。
关于javascript - 使用 mocha,我如何运行名称中*没有* (slow) 的所有测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26908288/