gpt4 book ai didi

qunit - 在 Qunit 中跳过测试

转载 作者:行者123 更新时间:2023-12-04 00:44:54 26 4
gpt4 key购买 nike

我刚找到 qHint ,一种将 jsHint 测试集成到 Qunit 中的方法......但它在本地(我不是指本地主机)中不起作用,除了在 Firefox 中。

所以我想添加一个“警告”或“通知”,而不是测试失败,表明测试被跳过:

// do unit test if not local or local and running Firefox
t = QUnit.isLocal;
if (!t || (t && /Firefox/.test(navigator.userAgent))) {
jsHintTest('JSHint core check', 'js/myplugin.js');
} else {
test('JSHint core check (skipped)', function(){
ok( true, 'check not done locally' );
});
}

我只想更明显地说明跳过了测试,这可能吗?

更新:感谢 Odi 的回答!,但我必须稍作修改才能使代码在 QUnit v1.11.0pre 中工作:
QUnit.testSkip = function( testName, callback ) {
QUnit.test(testName + ' (SKIPPED)', function() {
if (typeof callback === "function") {
callback();
}
var li = document.getElementById(QUnit.config.current.id);
QUnit.done(function() {
li.style.background = '#FFFF99';
});
});
};
testSkip = QUnit.testSkip;

最佳答案

我有同样的要求,我只是定义了一种新的 test()我调用 testSkip() .

此测试方法只是替换您的测试函数并将名称更改为 <test name> (SKIPPED) .之后,QUnit 认为测试通过。

为了进一步表明这是一个跳过的测试,我在 QUnit.done 中添加了一个回调函数。对于每个跳过的测试,将 HTML 输出中测试的颜色更改为黄色。这些回调在测试套件完成时执行。直接设置该值不起作用,因为 QUnit 在运行结束时应用通过/失败测试的样式。

QUnit.testSkip = function() {
QUnit.test(arguments[0] + ' (SKIPPED)', function() {
QUnit.expect(0);//dont expect any tests
var li = document.getElementById(QUnit.config.current.id);
QUnit.done(function() {
li.style.background = '#FFFF99';
});
});
};
testSkip = QUnit.testSkip;

那么你可以使用 testSkip()而不是 test()对于跳过的测试。

对于我的测试套件,结果如下所示:
Skipped tests in QUnit

关于qunit - 在 Qunit 中跳过测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13748129/

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