【问题标题】:npm + Mocha --watch (not accurately watching files)npm + Mocha --watch (不准确地观看文件)
【发布时间】:2014-04-02 21:13:01
【问题描述】:

我将 Mocha 与 npm 一起使用,并进行“npm 测试”来启动 mocha。它在 mocha.opts 中启用了 --watch,但由于某种原因,它不能准确地观看。当我对我的测试文件进行更改然后保存它时,无论我进行错误测试还是正常测试,我都会得到相同的结果:0 通过(绿色),而当我第一次运行 mocha 时,我得到2 次通过。

我有什么遗漏吗?

谢谢!

【问题讨论】:

  • 您是否将测试放在“描述”和“它”中?如果你没有,你将通过所有测试,但会显示 0
  • 在windows环境中出现这个may be a bug

标签: javascript node.js tdd npm mocha.js


【解决方案1】:

您需要确保 npm 使用以下命令将 CLI 选项传递给 mocha:

npm test -- --watch

这将在 npm 运行 mocha 时传递 watch 标志。

【讨论】:

    【解决方案2】:

    我能够让它工作。不知道问题是不是你的mocha.opts需要在test子目录下?

    在任何情况下,npm 和 smikes-mocha-watch-example 上都有一个有效的概念证明,您可以通过以下方式进行测试

    mkdir test
    npm install smikes-mocha-watch-example
    cd node_modules/smikes-mocha-watch-example
    npm install
    npm test
    

    我建议您可能不希望npm test 运行mocha --watch,因为npm test 有时以编程方式运行,如果它与--watch 一起运行,它看起来会无限期挂起。更好的解决方案可能是使用mocha 作为test 脚本和mocha --watch 作为新脚本,例如“watch”:

    $ cat package.json
    {
      "scripts": {
        "test": "mocha",
        "watch": "mocha --watch"
       }
    }
    $ npm test
    ... runs mocha
    $ npm run watch
    ... runs mocha --watch
    

    【讨论】:

    • 我不喜欢这个答案,如果问题是 mocha.opts 是否需要在 test 子目录中,这个工作示例只是一个工作示例...... mocha.opts 需要在目录中mocha --watch 运行,你可以看到不在 test 子目录中的东西:mocha --watch tests/ 它将监视所有子目录,但只运行 tests/* 的子目录脚本,但 mocha.opts 需要在目录中摩卡咖啡跑了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 2019-07-22
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多