【发布时间】:2016-03-02 17:07:14
【问题描述】:
我刚开始使用 QUnit,遇到了一个问题。
当我编写 JavaScript 文件时,我将所有变量放在页面顶部,如下所示:
var $input1 = $('#input1');
var $submit = $('#submit');
然后,我像这样连接我的事件:
$submit.on('click', function (e) {
submit(e);
});
这很好用,而且是一种很好的方式,每次我需要一些东西时,我都不必不断地去寻找所有的元素。 (不要到处乱扔代码$('#submit')。)
但是,现在我正在使用 QUnit 运行测试,每次运行新测试时都会替换 qunit-fixture div 中的项目。 (我正在重写一些其他人所做的代码,所以有一些初始的现有测试。)
截至目前,其他人编写的测试在模块的beforeEach 中的qunit-fixture div 中附加了一些静态HTML。
最后一点很重要,这是 ASP.NET MVC 项目的一部分,我们正在使用 chutzpah 运行测试,因此我们不会制作显式的 HTML 页面来运行每个测试文件。我们的目的是在命令行中运行它们,尤其是作为构建过程的一部分。
当我们没有为它们构建完整的 HTML 页面时,如何让那些应该始终在页面上的静态项目保持这种状态?
编辑 我对此进行了更多研究,并且因为我在测试文件期间将 HTML 添加到 DOM,所以当我选择顶部的变量时,这些元素尚未出现在文件中的页面上米测试。
【问题讨论】:
标签: javascript jquery qunit chutzpah