2013-01-09 21 views
0

我想在TeamCity中使用JavaScript進行單元測試。 我正在使用QUnit,phantomjs和QUnitTeamCityDriver。Qunit顯示來自另一個測試的結果

但我有一些問題。我得到以下測試結果:

##teamcity[testFailed type='comparisonFailure' name='Check myFunction1> Expected 1 assertions, but 2 were run'] 

這裏是我的測試:

asyncTest("Check myFunction1", function() { 
    $.mockjaxClear(); 
    $.mockjax({ 
     url: "www.someUrl.com", 
     responseText: '[{"Uid": "1"}]' 
    }); 

    var real = window.getUrl; 
    window.getUrl = function (rowdata, readonly, controller, action) { 
     start(); 
     equal(controller, "Encounter"); 
     equal(action, "Save"); 

     window.getUrl = real; 
    }; 

    myFunction1("123", false, "Encounter", "Save"); 
}); 

如果我運行一個測試,它工作正常。 如果我運行了很多測試,則會發生錯誤。 在測試中,我顯然沒有指出我在這個測試中會有多少斷言,爲什麼我會得到這樣的結果?

請問,有人可以幫助我嗎?我該如何解決這個問題? 非常感謝。

回答

0

你有沒有試過把你的測試中的斷言數量?

對於所有的測試,特別是異步測試,這是很好的做法。這樣,你肯定知道你所有的斷言都經過測試。

+0

謝謝你的回答。是的,我試過了。但在這種情況下,我也從另一個測試中獲得結果。我還觀察了一個有趣的時刻:當我在幫助qunit html頁面運行我的測試時,測試是可以的,但是當我使用團隊城市腳本運行測試時,測試可能失敗或成功結束。 – Telary

0

從上@ MForMarlon的回答您的評論:

但在這種情況下,我得到的結果從另一個測試過。

我注意到當拆解出現錯誤時,我得到了額外的失敗斷言。你有模塊()中的拆卸功能嗎?