Node.js 节点e2e测试-在Windows上每个挂钩失败之前/之后异步
在OSX和Linux上,以下操作非常有效(这是尽可能简化的复制,希望不会牺牲意义): 在Windows计算机上,上述操作失败,npm输出如下:Node.js 节点e2e测试-在Windows上每个挂钩失败之前/之后异步,node.js,windows,mongodb,async-await,mocha.js,Node.js,Windows,Mongodb,Async Await,Mocha.js,在OSX和Linux上,以下操作非常有效(这是尽可能简化的复制,希望不会牺牲意义): 在Windows计算机上,上述操作失败,npm输出如下: 13 verbose stack Exit status 4 13 verbose stack at EventEmitter.<anonymous> (C:\Path\To\AppData\Roaming\nvm\v9.4.0\node_modules\npm\node_modules\npm-lifecycle\lib\ind
13 verbose stack Exit status 4
13 verbose stack at EventEmitter.<anonymous> (C:\Path\To\AppData\Roaming\nvm\v9.4.0\node_modules\npm\node_modules\npm-lifecycle\lib\index.js:285:16)
... rest of stack
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
我在Mocha、Jest和FuseBox测试跑步者身上见过这种行为。跑步node@9.4在两台机器上。解决这个问题的方法不能是“在推之前,确保在Windows机器上测试我的测试”
const-app=express();app.listen(config.Http.port);请求=新会话(app)
这些行在每次之前不应该在之外吗?@AbhinavD,我可以稍后试一试,看看是否有帮助。我还在每个街区后面销毁会话和应用程序。忘了把它放在我的例子里。我会编辑的,当然。在每个
块之前的中定义的变量范围不会到达测试的it
块。嗯,顶层描述块中的所有内容不都应该在该范围内吗?如果不是,为什么不同操作系统的情况会有所不同?
13 verbose stack Exit status 4
13 verbose stack at EventEmitter.<anonymous> (C:\Path\To\AppData\Roaming\nvm\v9.4.0\node_modules\npm\node_modules\npm-lifecycle\lib\index.js:285:16)
... rest of stack
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
before(function(done)
{
MongoClient.connect(function(err, client)
{
mongoClient = client;
done();
});
});
after(function(done)
{
mongoClient.close(function() { done(); });
});