【问题标题】:Qunit shows the result from another testQunit 显示另一个测试的结果
【发布时间】:2013-01-09 16:34:15
【问题描述】:

我想在 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");
});

如果我运行一个测试,它就可以正常工作。 如果我运行大量测试,则会发生错误。 在测试中,我显然没有说明我期望在这个测试中有多少断言,为什么会得到这样的结果?

请问,有什么可以帮帮我的吗?我该如何解决这个问题? 非常感谢。

【问题讨论】:

    标签: javascript testing phantomjs qunit


    【解决方案1】:

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

    最好对所有测试执行此操作,尤其是异步测试。这样,您就可以确定您的所有断言都经过了测试。

    【讨论】:

    • 感谢您的回答。是的,我试过了。但在这种情况下,我也从另一个测试中得到结果。我还观察到一个有趣的时刻:当我使用帮助 qunit html 页面运行测试时,测试是可以的,但是当我使用团队城市脚本运行测试时,测试可能会失败或成功结束。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多