Właśnie zaczynam używać QUnit i mając problemy.QUnit nie uruchomi testów
Obecnie używam TypeScript, który jest kompilatorem JavaScript. Mam swoje testy w klasach równoległych do struktury moich głównych zajęć.
W każdej z tych klas mam funkcję o nazwie runTests().
Aby wykonać te testy, przechodzę przez wszystkie klasy kończące się na "Test", a następnie wywołuję ich funkcję runTests().
Przykładem z runTests() jest:
runTests = function() {
QUnit.test("5 = 5", function() {
QUnit.ok(5 == 5, "okay");
});
}
znam wszystkich runTests() działa (jak się je nazywa, potwierdzone z powodu wyjścia konsoli), ale w większości to tylko kiedykolwiek pokazuje mi jeden test. Wydaje się, że zawsze jest to ostatni sprawdzany test (nawet z wieloma testami w tych samych testach testowych()).
Czy jest jakaś dziwna rzecz, w której QUnit się resetuje, dlatego widzę tylko jeden, czy też brakuje mi czegoś jeszcze bardziej podstawowego?
Dzięki.
HTML używam jest tutaj, w przypadku jest to ważne:
<!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>
jsfiddle, proszę. – c69