【发布时间】:2011-08-20 08:41:44
【问题描述】:
所以 QUnit 提供了“raise”断言来测试是否抛出了异常。不过,有什么方法可以测试异常抛出的实际消息吗?例如,假设我有这个功能:
throwError = function(arg) {
var err = new Error();
if (typeof arg === 'undefined') {
err.message = 'missing parameter';
throw err;
}
}
我希望能够按照这些思路写一些东西:
raises(
function(){throwError();},
Error.message,
'missing arg'
);
理想情况下,此测试会失败,因为异常消息是“缺少参数”并且我希望它是“缺少 arg”,但它通过了,因为 qunit 仅检查是否引发了错误。有什么方法可以检查抛出的异常的实际内容吗?
【问题讨论】:
-
QUnit 的throws 不是这样做的吗?
-
throws 有效,但由于某种原因,它不会验证异常消息。
标签: javascript unit-testing exception-handling tdd qunit