0

TeamCity で JavaScript の単体テストを使用したいと考えています。QUnit、phantomjs、および QUnitTeamCityDriver を使用しています。

しかし、私はいくつかの問題を抱えています。次のテスト結果が得られます。

##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");
});

単一のテストを実行すると、正しく動作します。多くのテストを実行すると、エラーが発生します。テストでは、このテストで予想されるアサーションの数を明らかに示していません。なぜそのような結果が得られるのでしょうか?

助けてください。この問題を解決するにはどうすればよいですか? どうもありがとうございました。

4

2 に答える 2

0

@MForMarlonの回答に対するコメントから:

しかし、この場合、別のテストからも結果が得られます。

ティアダウンでエラーが発生すると、余分な失敗アサーションが発生することに気付きました。module() に分解機能はありますか?

于 2014-05-09T01:27:22.520 に答える
0

テストにアサーションの数を入れてみましたか?

すべてのテスト、特に非同期のテストでこれを行うことをお勧めします。そうすれば、すべてのアサーションがテストされることが確実にわかります。

于 2013-01-22T20:34:46.243 に答える