首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QUnit不会运行测试

QUnit不会运行测试
EN

Stack Overflow用户
提问于 2012-10-23 22:14:26
回答 1查看 1.6K关注 0票数 7

我刚刚开始使用QUnit,遇到了一些问题。

我目前正在使用TypeScript,这是一个JavaScript编译器。我有我的测试在课堂上,与我的主要课程结构平行。

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

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

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

代码语言:javascript
复制
runTests = function() {
  QUnit.test("5 = 5", function() {
    QUnit.ok(5 == 5, "okay");
  });
}

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

是否有什么奇怪的事情,QUnit重新设置了自己,这就是为什么我只看到一个,或者我错过了一些更基本的东西?

谢谢。

我使用的HTML在这里,以防有关系:

代码语言:javascript
复制
<!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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-23 22:16:36

因此,为了回答我自己的问题:看起来我在一个测试中击中了“重新运行”,而它只是给我展示了一个测试。删除查询字符串,一切都很好。

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

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13040167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档