Javascript 在重复流回调中使用Mocha测试时会被忽略

Javascript 在重复流回调中使用Mocha测试时会被忽略,javascript,node.js,unit-testing,asynchronous,mocha.js,Javascript,Node.js,Unit Testing,Asynchronous,Mocha.js,我的任务是针对大型测试向量语料库(10M+)测试一些js函数,在浏览器中进行测试的要求迫使我从本地Web服务器上传输测试向量,而不是一条记录一条记录地同步读取文件 因此,我通过以下方式获得(每行一个ascii)测试向量: consthttp=require('http'); const readline=require('readline'); FetchTestVectors=函数(文件名,recordCb){ 常量url=”http://localhost:8080/“+文件名; http.

我的任务是针对大型测试向量语料库(10M+)测试一些js函数,在浏览器中进行测试的要求迫使我从本地Web服务器上传输测试向量,而不是一条记录一条记录地同步读取文件

因此,我通过以下方式获得(每行一个ascii)测试向量:

consthttp=require('http');
const readline=require('readline');
FetchTestVectors=函数(文件名,recordCb){
常量url=”http://localhost:8080/“+文件名;
http.get(url)
.on('response',函数(response){
readline.createInterface({
输入:响应
})
.on('line',函数(line){
记录CB(行);
})
});
}
当尝试测试它时,内部描述块将被忽略(所有回调)。 但是,我可以看到正确的控制台转储

description('测试向量集',函数(){
FetchTestVectors('1.input',函数(记录){
控制台日志(记录);
//抛出新错误(“哦,不”);
描述('另一个向量',函数(){
它('此向量正常',函数(完成){
console.log(“==”+记录);
//断言(MyTargetFunc(记录));
完成();
});    
});
});
});

抛出异常(注释行)也很奇怪:它只是中断了回调序列,报告中没有失败的测试。

测试套件中发生了什么?您不能将
描述
嵌套在另一个
中。您是对的,已修复。对不起,我才两天时间。但是,此更新后没有任何更改。应同步定义规范。将它们放在
FetchTestVectors()
中会使它们在测试运行时不存在。这是否意味着我不能将descripe()或it()放在回调中?那么我如何实现自然测试逻辑——每个向量一个测试?目前我唯一的想法是在before()函数中获取数组中的所有向量,然后同步测试它们。不是很好的内存饥饿解决方案。有什么想法吗?是的,这意味着。测试不应该相互依赖。您可以在
之前的
中读取它们,也可以在每次测试中使用
之前的
或它
重新读取它们,后者通常更可取。测试不一定必须是内存有效的,只要它们不耗尽RAM,并且没有很好的用途。10Mb对我来说似乎是合理的。