我正在跟随Test Driven Javascript Development跟随finshed设置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]”的消息,正如本书所提到的那样你应该收到。
答案 0 :(得分:0)
是的,确定有可能。
至少有两种方式:
例如:
assertEquals([1, 2, 3, 4, 5] + "", arr + "");
要修复失败的测试,您需要使用 slice 而不是 splice
所以测试代码如下:
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);