javascript - 使用 mocha,我如何运行名​​称中*没有* (slow) 的所有测试?

标签 javascript unit-testing testing mocha.js

我有很多测试,其中一些名称中有“(慢)”:

enter image description here

其中一些比标记为(慢)的测试慢,但其他测试依赖于它们,因此不能跳过。我只想跳过名称中带有(慢)的那些——这可能吗?

我正在使用 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/

相关文章:

javascript - Fullcalendar v2 dayRender 用于议程 View 和 agendaWeek

javascript - 将 jQuery UI 时间 slider 间隔更改为小时,并添加刻度

javascript - Firebase 基于 promise 的身份验证流程始终重定向

javascript - 向 Canvas 中绘制的对象添加大小控制柄

python-3.x - 封装外的模拟函数

java - Selenium - 在父级中搜索项目

xcode - 如何清除 Xcode 中的单元测试结果?

ios - AdMob 只发送真实广告,而不发送测试广告,为什么?

javascript - 带有 promise 和单元/集成测试的异步 Javascript

maven - 在多模块 Maven 项目中构建所有模块后如何运行集成测试?