簡體   English   中英

QUnit不會運行測試

[英]QUnit Won't Run Tests

我剛開始使用QUnit並遇到問題。

我目前正在使用TypeScript,它是一個JavaScript編譯器。 我在類中與我的主類的結構並行測試。

在每個類中,我都有一個名為runTests()的函數。

為了執行這些測試,我遍歷並獲取以“Test”結尾的所有類,然后調用它們的runTests()函數。

runTests()函數的一個示例是:

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

我知道所有的runTests()工作(因為它們被調用,因為控制台輸出而被確認),但最多它只給我一個測試。 似乎總是被調用的最后一個測試(即使在同一個runTests()中進行多次測試)。

是否有一些奇怪的事情,QUnit重置自己,這就是為什么我只看到一個,或者我錯過了一些更基本的東西?

謝謝。


我使用的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM