簡體   English   中英

Mocha測試失敗,出現AssertionError

[英]Mocha Test Fails with AssertionError

在JUnit(Java)中,單元測試的結果是成功,失敗或錯誤。

當我嘗試使用Mocha運行測試時,我獲得了成功或斷言錯誤。

通常是為失敗測試獲取AssertionError嗎? (它不應該被稱為失敗而不是錯誤嗎?)

斷言錯誤:-1 == 2 +預期 - 實際

那么測試異步代碼呢? 當我的測試失敗時,我得到一個未捕獲的錯誤? 這是正常的嗎?

像這樣:

未捕獲的錯誤:預計200到201等於

你所描述的是摩卡的正常行為。 此代碼說明了如果您不嘗試在異步代碼中捕獲異常(甚至由斷言失敗引發異常)以及如果您想要避免未捕獲的異常消息,您可以執行的操作會發生什么:

var assert = require("assert");

it("fails with uncaught exception", function (done) {
    setTimeout(function () {
        assert.equal(1, 2);
        done();
    }, 1000);
});

it("fails with assertion error", function (done) {
    setTimeout(function () {
        try {
            assert.equal(1, 2);
            done();
        }
        catch (e) {
            done(e);
        }
    }, 1000);
});

上面的代碼產生了這個輸出:

  1) fails
  2) fails

  0 passing (2s)
  2 failing

  1)  fails:
     Uncaught AssertionError: 1 == 2
      at null._onTimeout (/tmp/t2/test.js:5:16)
      at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)

  2)  fails:
     AssertionError: 1 == 2
      at null._onTimeout (/tmp/t2/test.js:13:20)
      at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM