【问题标题】:Mocha JS: grep not matching any testsMocha JS:grep 不匹配任何测试
【发布时间】:2017-08-18 22:29:18
【问题描述】:

由于某种原因,Mocha 似乎无法匹配任何模式。

mocha -g MyClass

显示0 passings (0ms),当我实际上有几个测试可以运行并通过运行单个测试脚本时。

mocha test/my/test.js

产生4 passing (10ms)

test.js,我有

describe ('MyClass', function () {
    describe ('someMethod()', function () {
        it ('Should be...', function () {
            ....
        })
        ...
    })
})        

知道我做错了什么吗?使用 mocha 3.5.0。

【问题讨论】:

  • 使用 mocha 3.5.0 对我来说效果很好
  • @john_omalley 我正在使用相同的版本。对上面的test.js 使用 grep 选项的 CLI 命令到底是什么?
  • 我刚刚使用describe('FooBar', () => ... 运行 mocha -g FooBar 以获取规范

标签: javascript unit-testing mocha.js


【解决方案1】:

当您执行mocha test/my/test.js 时,Mocha 可以轻松找到测试,因为您提供了文件的完整路径。当您执行mocha -g MyClass 时,Mocha 必须自己查找文件。它在test 中查找,您的测试文件位于它下面。到目前为止一切顺利,但默认情况下 Mocha 不会进入 test 的子目录。所以你必须做mocha -g MyClass --recursive

【讨论】:

    【解决方案2】:

    Mocha 的另一个可能原因显然是找不到您告诉它使用 --grep-g 选项运行的特定测试,如果您的文件中有一个或多个其他测试是用 .only( ... ) 定义的.

    如果 Mocha 看到任何此类 .only 测试,它不会运行任何其他测试,即使您的 --grep 参数不包含 .only 测试。

    见:https://mochajs.org/#exclusive-tests

    【讨论】:

      猜你喜欢
      • 2016-09-03
      • 1970-01-01
      • 1970-01-01
      • 2017-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      相关资源
      最近更新 更多