2016-06-29 22 views
1

我在使用Mocha和Chai編寫測試用例時面臨一個問題。在下面的代碼值n是1.我使用console.log()檢查它。雖然我正在對0測試此值,但測試仍在通過。實際上,對於什麼值n進行了測試並沒有關係,測試仍然通過。它有什麼問題?誰能幫忙?Mocha.js用Chai.js測試不能用於聲明數值

it("Should have 1 variables", function(){          
    var variable_count = require("../../lib/variable_count").variable_count; 
    var file = __dirname + '/cases/case_3.json';        
    jsonfile.readFile(file, function(err, obj) {                
     var n = variable_count(obj);                   
     expect(n).to.equal(0);                   
     assert.strictEqual(n, 0);                   
    });                          
}); 

回答

2

的問題是,你的代碼是異步的(因爲jsonfile.readFile()),但您的測試是同步的。

爲了使測試異步的,所以它會等待一個結果,你可以使用以下命令:

it("Should have 1 variables", function(done) { 
    var variable_count = require("../../lib/variable_count").variable_count; 
    var file = __dirname + '/cases/case_3.json'; 
    jsonfile.readFile(file, function(err, obj) { 
    var n = variable_count(obj); 
    expect(n).to.equal(0); 
    assert.strictEqual(n, 0); 
    done(); 
    }); 
}); 

更多信息here

相關問題