我正在使用fixtures,这意味着我的标记是在JS测试运行之后生成的。这意味着如果我有$('.something').click();
该事件永远不会被映射,因为Qunit还没有运行来创建'。某些东西'所以我原来的JS找不到这个元素来正确绑定这个事件。
我找到了两个解决方案:
1。在我的灯具旁边硬编码我的标记
<!-- FIXTURES -->
<div id="qunit-fixture"></div>
<button class="btn-warning">text</button>
2. 将我的事件JS IN IN添加到我的单元测试中。
var $fixture = $('#qunit-fixture');
$fixture.append('<button class="btn-warning">');
$('btn-warning').click(// Run Stuff);
// Test Code
这些选项中的任何一个对我来说都不是好的做法。第一个是优选的,因为它使事物分开,但很容易变得臃肿。第二个问题出于显而易见的原因引入问题,因为我不再测试我实际使用的代码。
这是一个功能正常demo
的小提琴这可能吗?什么是最佳做法?