我试图弄清楚如何正确使用 JS 测试驱动程序的 assertException 方法。从谷歌的文档应该是:assertException([msg], callback, error)。但是,无论我做什么,我总是会收到此测试的 [ERROR](而不是 [PASS],因为有异常):
ComponentTest.prototype.testEnforceUniqueComponentIds = function() {
assertException(function(){
this.component = new myNamespace.component(this.testComponentSettings);
});
}
Run Code Online (Sandbox Code Playgroud)
在我的 src JS 中:
myNamespace.component = function(params){
if (typeof params.selector == 'undefined'){
throw new Error('no selector provided');
}
this.settings = jQuery.extend({}, {
id : 'defaultComponentId',
type : 'defaultComponentType',
selector : 'body',
isUnique : false
}, params);
if(typeof(myNamespace.componentRegistry[params.id]) === "undefined"){
myNamespace.registerComponent(this);
} else {
throw new Error('non-unique component id provided');
}
}
Run Code Online (Sandbox Code Playgroud)
这是 js-test-driver 的输出:
C:\xampp2\htdocs\myNamespace\v2>java -jar JsTestDriver.jar --tests all --verbose …Run Code Online (Sandbox Code Playgroud)