如何使用buster远程获取文件功能进行测试,该功能可以与回调一起使用

时间:2014-01-29 20:57:59

标签: javascript testing buster.js

如何用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!

之类的错误

1 个答案:

答案 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”。