QUnit只运行了第一个测试。

28

我无法让QUnit在第一个测试之后运行任何测试。为确保我没有做一些奇怪的事情,我将代码简化到尽可能基本的程度。

test("A", function () {
    ok(true, "Test A");
});
test("B", function () {
    ok(true, "Test B");
});

测试A是唯一能运行的。没有错误抛出或任何其他情况。

我的HTML文件看起来像这样。

<!DOCTYPE html>
<html>
<head>
   <title>Test title</title>
   <link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.10.0.css">
</head>
<body>
   <div id="qunit"></div>
   <script src="http://code.jquery.com/qunit/qunit-1.10.0.js"></script>
   <script src="tests.js" type="text/javascript"></script>
</body>
</html>

我把所有东西都复制粘贴到jsfiddle中,它可以工作。这可能与本地运行有关吗? - Mims H. Wright
经过测试,我通过本地Apache服务器而不是file://运行它,发现它可以工作。有人能解释一下这里发生了什么吗? - Mims H. Wright
如果你遇到了这个问题,请告诉QUnit的开发人员UI很蠢!https://github.com/jquery/qunit/issues/528 - Mims H. Wright
2个回答

62

找到了问题。它就在这里!

qunit.html?testNumber=1

我猜我在某个时候点击了重新运行按钮,并且它忽略了其他测试!

另一个问题指引我走上了正确的方向。QUnit不会运行测试


在哪个文件夹中可以找到qunit.html?testNumber=1?我遇到了同样的问题。 - user84592
1
@user84592 在URL中。刚刚被抓住了。谢谢 +1 - Ruairi O'Brien
谢谢,伙计。我也不小心做了同样的事情,一直无法弄清楚为什么只有一个测试在运行,尽管指定了多个测试。 - kiwicomb123

0

非常类似于Mims H. Wright的答案。

我也曾经重新运行一个失败的测试,结果它将testId附加到了我的URL上,而我没有注意到。

tests.html?testId=fb134038

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接