cal*_*rae 7 javascript testing unit-testing mocha.js
我有一大堆测试,其中一些在名称中有"(慢)":

其中一些比标记的测试慢(慢),但是其他测试依赖,所以不能跳过.我只想跳过那些名字中的(慢) - 这可能吗?
我正在使用摩卡.
小智 6
您可以使用两个命令行开关的组合来执行此操作。这是文档的相关部分:
-g, --grep <pattern> only run tests matching <pattern>
-i, --invert inverts --grep matches
在我看来,您正在为在浏览器中加载以运行 Mocha 的页面执行此操作。要在浏览器中执行此操作,您可以在页面的 URL 中传递这些参数:
grep这大约对应于--grep命令行上的选项。这将测试运行范围缩小到与传递给 的表达式匹配的测试grep。但是,目前(甚至从 2.0.1 开始)无法让 Mocha 将此参数解释为正则表达式。它总是被解释为一个字符串。这就是为什么我说“大约对应”。--grep在命令行上是一个正则表达式,但grep在 URL 中传递的参数是一个字符串。
invert对应于--invert命令行上的选项。这将反转执行的匹配grep,从而选择grep不匹配的测试。
因此,如果您通过附加以下字符串打开页面,?grep=(slow)&invert=1它将运行其中没有该字符串的测试"(slow)"。