Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 伊斯坦布尔,当测试用例需要更多时间时,mocha不生成覆盖率报告_Node.js_Unit Testing_Istanbul - Fatal编程技术网

Node.js 伊斯坦布尔,当测试用例需要更多时间时,mocha不生成覆盖率报告

Node.js 伊斯坦布尔,当测试用例需要更多时间时,mocha不生成覆盖率报告,node.js,unit-testing,istanbul,Node.js,Unit Testing,Istanbul,我正在使用mocha测试我的js文件。一些测试用例在解析响应时需要时间,所以我使用了timeout。完整的命令看起来像 伊斯坦布尔封面_mochatest/sol-verifier.js--300000超时 问题是,在进行这样的覆盖时,我并没有创建覆盖报告,它只成功地运行测试用例并停止(而不是终止)。我怎样才能解决这个问题 我的代码在node.js中,它不创建任何服务器 另外,当我删除--timeout标志并注释掉需要更多时间的测试用例时。它工作正常并生成覆盖率报告 根据我的发现,问题不在--t

我正在使用
mocha
测试我的js文件。一些测试用例在解析响应时需要时间,所以我使用了timeout。完整的命令看起来像

伊斯坦布尔封面_mochatest/sol-verifier.js--300000超时

问题是,在进行这样的覆盖时,我并没有创建覆盖报告,它只成功地运行测试用例并停止(而不是终止)。我怎样才能解决这个问题

我的代码在node.js中,它不创建任何服务器

另外,当我删除
--timeout
标志并注释掉需要更多时间的测试用例时。它工作正常并生成覆盖率报告


根据我的发现,问题不在
--timeout
标志中,当测试用例需要比平时更长的时间才能解决时,不会生成报告。

您可以向测试套件函数添加
done
参数,并在每个测试函数结束时调用
done()

it('test expectation', function(done) {
    // test asynchronous code
    // call done() to terminate test and proceed to the next test
    done();
}
或者,尝试使用
摩卡
上的
--exit
标志运行测试:

伊斯坦布尔封面_mocha--exit test/sol-verifier.js--timeout 300000

根据报告:

为了避免误报并鼓励更好的测试实践,Mocha将不再通过process.exit()运行它认为应该运行的程序

如果mocha流程在您的测试看起来“完成”后仍然有效,那么您的测试已经安排了一些事情发生(异步),并且没有在正确地完成之后进行清理。你有没有把插座开着

提供--exit标志以使用v4之前的行为