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

您是否尝试过在测试中加入断言的数量?

对所有测试都这样做是一种很好的做法,尤其是异步测试。这样,您可以确定您的所有断言都经过测试。

于 2013-01-22T20:34:46.243 回答
0

根据您对@MForMarlon 的回答的评论:

但在这种情况下,我也从另一个测试中得到结果。

我注意到,当拆解出错时,我会收到一个额外的失败断言。模块()中有拆解功能吗?

于 2014-05-09T01:27:22.520 回答