QUnit未运行外部JavaScript文件
QUnit not running external JavaScript file
我试图调整这里的教程以使用QUnit v2.x,但它似乎没有获得我想要测试的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两个版本的测试工作!
所以,这个问题在So的其他多个地方都出现了。本质上,QUnit 2处理固定装置的方式不同。您的代码在原始HTML中添加了一个事件处理程序,但随后QUnit会杀死该HTML并重新构建它,从而删除您的处理程序。解决方案是在测试内部执行事件绑定,而不是在页面加载上执行。这里有一把小提琴,但代码如下:
function init() {
$('.username').on('keypress', function() {
console.log('hiding error!');
$('.has-error').hide();
});
}
QUnit.test("errors should be hidden on keypress", function(assert) {
init();
$('.username').trigger('keypress');
assert.strictEqual($('.has-error').is(':visible'), false);
});
QUnit.test("errors not be hidden unless there is a keypress", function(assert) {
init();
assert.strictEqual($('.has-error').is(':visible'), true);
});
相关文章:
- 使用压缩的JavaScript文件(不是运行时压缩)
- 如何包含特定于每个视图angularjs的javascript文件
- 将数据从javascript文件导入VB.Net页面
- Chrome加载旧版本的Javascript文件
- 操作员”;新的“;根据我想在几个JavaScript文件中使用的类,在JavaScript中使用
- gulp-if-javascript文件,但不在gulp-useref的特定目录中
- 如何在visualstudio中调试web api时编辑javascript文件
- 关于引入外部javascript文件的问题&css通过https
- 有没有办法在tinymceiframe中加载一个外部javascript文件
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 在一个javascript文件中为整个网站创建标签
- 如何在定义js文件后为外部javascript文件设置变量
- 显示IIS上javascript文件(SOAP请求)的XML响应
- ResolveUrl没有'我似乎不适合当链接到具有动态虚拟目录的外部javascript文件时
- 我应该将MVC视图特定的javascript文件放在哪个文件夹中
- Django'支持Javascript文件中的翻译
- MVC正在忽略我的Javascript文件
- 为什么不't我的ruby代码与javascript文件一起插入
- 在Javascript文件中获取PHP变量
- 如何在Windows中将Javascript文件编译成二进制文件