JUnit(Java)では、単体テストの結果は成功、失敗、またはエラーのいずれかです。
Mochaでテストを実行しようとすると、成功またはアサーションエラーが発生します。
通常、失敗テストでAssertionErrorが発生しますか? (エラーではなく、単に失敗と呼ばれるべきではありませんか?)
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)