我試圖修改教程here以使用QUnit v2.x,但它似乎沒有找到我想測試的JavaScript文件。QUnit沒有運行外部JavaScript文件
的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();
});
});
試驗失敗的真正
結果本教程中提供的代碼工作正常QUnit 1.23
<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>
編輯:使用QUnit v1.23這兩個版本的測試工作!
你確定你的*的test.html的所有腳本路徑*妥善解決?如果測試失敗,那麼它似乎就像* list.js *中的代碼沒有運行。 –
將代碼放在測試上方的腳本標記中時,它仍然不起作用。我不確定那是否按預期工作。 list.js文件可以在Web Inspector資源中訪問。 –
我想你錯過了教程中的HTML部分呢?沒有你的選擇器'.has-error'將不會選擇任何東西。 我創建了[這個小提琴](https://jsfiddle.net/vhjparpv/#&togetherjs=PpGJ5xKVrA),兩個測試都正常。 –