2016-06-29 4 views
1

モカとチャイを使ってテストケースを書く際に問題が発生しました。次のコード値はnです。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こと。

関連する問題