Ich versuche, das Lernprogramm here an die Verwendung von QUnit v2.x anzupassen, aber es scheint nicht die JavaScript-Datei aufzunehmen, die ich testen möchte.QNicht externe JavaScript-Datei ausführen
test.html
<div id="qunit"></div>
<div id="qunit-fixture">
<form>
<input name="text" />
<div class="has-error">Error text</div>
</form>
</div>
<script src="http://code.jquery.com/jquery.min.js"></script>
<script src="qunit.js"></script>
<script src="../list.js"></script>
<script>
QUnit.test("errors should be hidden on keypress", function (assert) {
$('input').trigger('keypress');
assert.equal($('.has-error').is(':visible'), false);
});
</script>
list.js
jQuery(document).ready(function ($) {
$('input').on('keypress', function() {
$('.has-error').hide();
});
});
Der Test schlägt fehl, mit dem Ergebnis der wahren
Die bereitgestellten Code in das Tutorial mit QUnit 1,23
funktioniert gut<script>
/*global $, test, equal */
test("errors should be hidden on keypress", function() {
$('input').trigger('keypress');
equal($('.has-error').is(':visible'), false);
});
test("errors not be hidden unless there is a keypress", function() {
equal($('.has-error').is(':visible'), true);
});
</script>
Edit: Mit QUnit v1.23 arbeiten beide Versionen der Tests!
Sind Sie sicher, dass alle Skript Pfade in Ihrer * test.html * richtig lösen? Wenn der Test fehlschlägt, scheint der Code in * list.js * nicht ausgeführt zu werden. –
Wenn der Code oberhalb der Tests in ein Skript-Tag eingefügt wird, funktioniert er immer noch nicht. Ich bin mir nicht sicher, ob das wie beabsichtigt funktioniert. Auf die Datei list.js kann in den Web Inspector-Ressourcen zugegriffen werden. –
Ich denke, dass Sie den HTML-Teil aus dem Tutorial dann vermissen? Ohne dass Ihr Selektor '.has-error' nichts auswählt. Ich habe [diese Geige] (https://jsfiddle.net/vhjparpv/#&togetherjs=PpGJ5xKVrA) erstellt und beide Tests funktionieren gut. –