在重复流回调中使用Mocha测试时,将忽略它们

时间:2018-07-28 23:02:15

标签: javascript node.js unit-testing asynchronous mocha

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

因此,我通过这种方式获取(每行ascii一个)测试向量:

const http = require('http');
const readline = require('readline');

FetchTestVectors = function(filename, recordCb) {
  const url = "http://localhost:8080/" + filename;

  http.get(url)
        .on('response', function(response) {
            readline.createInterface({
                input: response
            })
            .on('line', function(line) { 
                recordCb(line);
            })
  });
}

当尝试对其进行测试时,内部describe-it块将被忽略(所有回调)。 但是,我可以看到正确的控制台转储。

describe('Test vector set', function () {
        FetchTestVectors('1.input', function (record) {            
            console.log(record);
            //throw new Error("oh no");
            describe('one more vector', function () {
                it('this vector is ok', function(done) {
                    console.log("==" + record);

                    //assert(MyTargetFunc(record));
                    done();                          
                });    
            });

        });
});

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

0 个答案:

没有答案