Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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 摩卡过早退出测试_Node.js_Mocha.js - Fatal编程技术网

Node.js 摩卡过早退出测试

Node.js 摩卡过早退出测试,node.js,mocha.js,Node.js,Mocha.js,我正在使用从命令行对我的项目运行一些测试。不幸的是,只有一些测试在Mocha退出之前运行 测试文件非常简单。你可以 似乎在某个地方有一个种族条件。当我运行npm测试时,它会执行以下两项操作之一: 跑步;或 从开始运行34个测试 显然,我正在做一些需要捕获的异步操作,但我还不太确定是什么。在任何情况下,我都不知道如何告诉Mocha等待任何异步项目的收获(例如,某种Mocha.wait\u all,如果这是可能的话-也许我必须添加'done()调用,但我认为同步测试不需要这样做-我认为这可能是必要的

我正在使用从命令行对我的项目运行一些测试。不幸的是,只有一些测试在Mocha退出之前运行

测试文件非常简单。你可以

似乎在某个地方有一个种族条件。当我运行
npm测试时
,它会执行以下两项操作之一:

  • 跑步;或
  • 从开始运行34个测试
  • 显然,我正在做一些需要捕获的异步操作,但我还不太确定是什么。在任何情况下,我都不知道如何告诉Mocha等待任何异步项目的收获(例如,某种
    Mocha.wait\u all
    ,如果这是可能的话-也许我必须添加'
    done()
    调用,但我认为同步测试不需要这样做-我认为这可能是必要的)

    当然,我会进行实验,并发布我从测试中收集到的任何答案,但如果有任何见解,我将不胜感激。

    答案是

     fs.readFile filename, "utf8", -> ...
    
    正在异步运行。当我尝试使用

     fs.readFileSync filename, "utf8", -> ...
    
    它不起作用,因为我仍然在传递回调,而不是读取返回值

    我通过将回调更改为:

    data = fs.readFileSync filename, "utf8"
    
    因为现在没有调用异步操作