gpt4 book ai didi

javascript - JS 测试驱动程序 "assertException"的正确语法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:50:31 24 4
gpt4 key购买 nike

我正在尝试找出如何正确使用 JS 测试驱动程序的 assertException 方法。从谷歌的文档来看,它应该是:assertException([msg], callback, error)。但是,无论我做什么,我总是得到此测试的 [ERROR](而不是 [PASS],因为存在异常):

ComponentTest.prototype.testEnforceUniqueComponentIds = function() {
assertException(function(){
this.component = new myNamespace.component(this.testComponentSettings);
});
}

在我的 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');
}
}

这是 js-test-driver 的输出:

C:\xampp2\htdocs\myNamespace\v2>java -jar JsTestDriver.jar --tests all --verbose
[PASSED] ComponentTest.testInit
[LOG] setUp
[LOG] tearDown
[PASSED] ComponentTest.testDestroy
[LOG] setUp
[LOG] tearDown
[ERROR] ComponentTest.testEnforceUniqueComponentIds
[LOG] setUp
Total 3 tests (Passed: 2; Fails: 0; Errors: 1) (1.00 ms)
Firefox 7.0.1: Run 3 tests (Passed: 2; Fails: 0; Errors 1) (1.00 ms)
ComponentTest.testEnforceUniqueComponentIds error (1.00 ms):

在我的一生中,我无法弄清楚如何让 assertException 回调中的代码实际抛出异常,而不会在测试中导致错误 - 这不是应该发生的事情吗?

如有任何帮助,我们将不胜感激。

最佳答案

assertException(function(){
this.component = new myNamespace.component(this.testComponentSettings);
}, "Error");

error 参数应该是 Error.抛出错误的名称(例如“ReferenceError”、“TypeError”等)。

关于javascript - JS 测试驱动程序 "assertException"的正确语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8042624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com