我试图检查函数是否抛出错误,然后执行此操作:
define([
'doh/runner',
'app/Obj'
], function(
doh,
Obj
){
doh.register('Test Obj exception', [
function(){
try {
new Obj(); // wrong call
} catch(e) {
doh.t(e, 'should give an error if no parameters given');
}
}
]);
Obj.js文件:
...
constructor: function(args){
if(args === undefined){ throw 'Error' }
...
}
...
但也许在Doh这个方法的正确方法在哪里?谁能解释一下?感谢
答案 0 :(得分:1)
你想要doh.assertError()
示例:
doh.assertError(TypeError, this.field, "setValue",
[{
CreatedOn: "March 10th, 2014"
}],
"setValue() on an invalid format should throw a TypeError");
答案 1 :(得分:0)
This example test表示DOH正确捕获并显示错误。
This gist是测试,包含以下代码:
var Obj = function () {
if (arguments.length < 1) {
throw 'Error - There are ' + arguments.length + ' arguments';
}
};
define(["doh/runner"], function(doh){
var tests = [
function () {
new Obj(); // wrong call
}
];
doh.register('Test Obj exception', tests);
});
屏幕截图显示了1错误,以及Error
抛出的错误信息: