【问题标题】:rerun mocha using supervisor... on windows在 Windows 上使用主管重新运行 mocha...
【发布时间】:2012-08-02 21:27:03
【问题描述】:

我正在尝试使用主管重新运行 mocha 测试。我试过了:

supervisor node_modules\.bin\mocha

它进入循环并出现错误:

basedir=`dirname "$0"`

建议?

【问题讨论】:

    标签: node.js mocha.js node-supervisor


    【解决方案1】:

    我想你只想mocha -w:

    -w, --watch                     watch files for changes
    

    它与点矩阵报告器(默认)和-G 很好地配合使用,在您的测试失败时向您发出咆哮通知。

    编辑:

    我已找到您提到的与 Windows 相关的问题:"No such module" error when trying to get Mocha to watch my project

    我也无能为力。

    但回到supervisor 的问题:当我安装 mocha 时,“bin”脚本在 node_modules/mocha/bin 中,我可以使用以下命令重复运行测试

    supervisor node_modules/mocha/bin/mocha 
    

    supervisor 确实会在每次测试运行之间打印一些烦人的 DEBUG 行,但可以使用 --quiet 将其静音。因为 mocha 在每次运行后都会退出,所以你有一个繁忙的持续测试循环。

    【讨论】:

    • 我试过了,但我得到了: var b = process.binding('signal_watcher');错误:在 process.startup.processSignalHandlers.process.on.process.addListener (node.js:468:27) 没有这样的模块我知道这是一个 Windows 问题,我已经尝试了解决方法。它可以解决错误,但是它没有成功地观察更改。我必须重新启动 mocha 才能重新运行测试。这就是我尝试“主管”方法的原因。
    • 当我安静运行时,它仍然不会重新运行测试。一个错误正在干扰。尝试各种方法。我正在运行:主管节点 node_modules/mocha/bin/mocha --require 应该 --require 服务器。它抱怨: events.js:66 throw arguments[1]; // 未处理的 'error' 事件 错误:监听 EADDRINUSE
    • EADDRINUSE 通常表明您尝试打开的端口已被另一个程序使用。在您的情况下,您可能在某处的命令行中运行您的 Express 应用程序,并且您的测试试图在同一端口上启动同一个 Express 应用程序,但不能。
    • 我才意识到这一点。 Cake 在 3000 端口上启动。所以我像 node server.js 一样手动启动。然后我手动将端口更改为 3001,以便当测试启动服务器时,它使用另一个端口。我仍然无法让主管工作。但是,我可以使用 nodemon,例如: nodemon node_modules/mocha/bin/mocha --require should --require server。我将不得不将 ENV var 设置为 test 或其他东西,以便它使用 diff 端口进行测试。感谢您一路上的投入。
    • 一个“次要”细节是我看不到哪个测试失败了。它只是说:? 2 个测试中有 1 个失败:... [nodemon] 应用程序崩溃 - 等待文件更改,然后再启动...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 2017-02-12
    • 1970-01-01
    相关资源
    最近更新 更多