gpt4 book ai didi

javascript - QUnit 不会运行测试

转载 作者:数据小太阳 更新时间:2023-10-29 04:27:56 25 4
gpt4 key购买 nike

我刚开始使用 QUnit 时遇到了问题。

我目前正在使用 TypeScript,它是一个 JavaScript 编译器。我在与主类结构平行的类中进行测试。

在每个类中,我都有一个名为 runTests() 的函数。

为了执行这些测试,我遍历并获取所有以“Test”结尾的类,然后调用它们的 runTests() 函数。

runTests() 函数的一个示例是:

runTests = function() {
QUnit.test("5 = 5", function() {
QUnit.ok(5 == 5, "okay");
});
}

我知道所有的 runTests() 工作(因为它们被调用,因为控制台输出而被确认),但最多它只向我显示一个测试。它似乎总是最后调用的测试(即使在同一个 runTests() 中有多个测试)。

QUnit 是否会 self 重置,这就是为什么我只看到一个,或者我是否遗漏了一些更基本的东西?

谢谢。


我使用的 HTML 在这里,以防万一:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>QUnit Example</title>
<link rel="stylesheet" href="qunit-git.css">
</head>
<body>
<div id="qunit"></div>
<script src="qunit-1.10.0.js"></script>
<script src="mycode.js"></script>
<script type="text/javascript">
function runTest() {
var testClasses = getClassesRecurse(Test, []);

function getClassesRecurse(target, testClasses) {
if (typeof target == 'function' && /Test$/.test(target.name)) {
testClasses.push(target);
} else if (typeof target == 'object') {
for (var i in target) {
getClassesRecurse(target[i], testClasses);
}
}

return testClasses;
}

for (var i in testClasses) {
var testObj = new testClasses[i]();

if (testObj.runTests) {
console.log('Testing: ' + testClasses[i].name, testObj);
testObj.runTests();
}
}
}

runTest();
</script>
</body>
</html>

最佳答案

所以,回答我自己的问题:看起来我在测试中点击了“重新运行”,它只显示了一个测试。删除查询字符串,一切正常。

给QUnit的一个建议:用大字体添加一条消息:“只运行一个测试,点击这里运行所有。” =p

关于javascript - QUnit 不会运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13040167/

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