如何用Buster测试从远程服务器获取文件的功能? 我写了像
这样的测试buster.testCase("Remote fetch file", {
"test it": function () {
assert(true);
},
"remote fetch file" : function (){
remoteFileFetchingFunction(credentials, 'whoami', function (err, result) {
assert.equals(result, 'John');
});
}
});
但总是得到Failure: No assertions!
答案 0 :(得分:1)
您必须对此进行异步测试。要将测试标记为异步,您需要使测试函数采用一个参数。按照惯例,此参数应称为done
。调用参数告诉buster测试已经完成运行。这就是它的全部内容:)
"my test": function (done) {
doAsyncThing(function (arg) {
assert.equals(arg, 123);
done();
});
}
// Alternative syntax
"my test": function (done) {
doAsyncThing(done(function (arg) {
assert.equals(arg, 123);
}));
}
使用替代语法的优点是,如果您的回调函数抛出错误,仍会调用“done”。