单位测试,承诺不起作用

时间:2016-07-19 13:04:22

标签: node.js unit-testing promise mocha bluebird

我使用mocha来测试我的api,问题是这个函数是异步的 在我从函数中获取结果之前调用了测试套件,我该如何克服这个问题?

我尝试将测试链接如下,从而引发错误空测试套件。

with open('task3randomtext.txt', 'r') as f:
    text = f.readlines()

我的初始用法如下所示,如果是调用它并期望在内部之前 答案(isValid)来自承诺,任何想法?

describe("Validations", function () {

    var validator = require('../utils/validator');
    var isValid = null;

    validator.validateJS()
        .then(function (args) {
            isValid = args;
        }).then(function(){
        it("init validations ", function () {
            expect(isValid).to.equal('valid1');
        });
    });

})

1 个答案:

答案 0 :(得分:0)

使用mocha的before()

describe("Validations", function () {

    var validator = require('../utils/validator');
    var isValid = null;

    before(function(done) {
        validator.validateJS()
        .then(function (args) {
            isValid = args;
            done();
        })
    })

    it("init validations ", function () {
        expect(isValid).to.equal('valid1');
    });
})