[英]Enable JsTestDriver Failed Test Messages and fix FailureException error?
我將跟隨“ 測試驅動的Javascript開發”並完成jstestdriver的設置。 運行失敗的測試時,我收到奇怪的錯誤和失敗的測試消息,例如:
TestCase("ArrayTest", {
"test array splice should not modify array": function () {
var arr = [1, 2, 3, 4, 5];
var result = arr.splice(2, 3);
assertEquals([1, 2, 3, 4, 5], arr);
}
});
我的失敗測試輸出相當簡潔,其中包含一個奇怪的FailureException錯誤:
F
Total 1 tests (Passed: 0; Fails: 1; Errors: 0) (3.00 ms)
Chrome 27.0.1453.116 Mac OS: Run 1 tests (Passed: 0; Fails: 1; Errors 0) (3.00 ms)
ArrayTest.test array splice should not modify array failed (3.00 ms):
null
com.google.jstestdriver.FailureException
at com.google.jstestdriver.FailureCheckerAction.run(Unknown Source)
at com.google.jstestdriver.ActionRunner.runActions(Unknown Source)
at com.google.jstestdriver.JsTestDriverServer.main(Unknown Source)
我想知道是否有可能修復該故障異常,並且還收到一條消息,例如“預期為[1、2、3、4、5],但為[1、2]”,正如書中提到的那樣,您應該收到。
是的,肯定有可能。
至少有兩種方法:
例如:
assertEquals([1, 2, 3, 4, 5] + "", arr + "");
要修復失敗的測試,您需要使用切片而不是拼接
因此,測試代碼如下所示:
var arr = [1, 2, 3, 4, 5];
var result = arr.slice(2, 3);
assertEquals([1, 2, 3, 4, 5], arr);
如果您想在此斷言失敗時收到一些自定義消息,則可以將其寫為第一個參數:
assertEquals("message text", [1, 2, 3, 4, 5], arr);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.