1

我正在使用固定装置,这意味着我的标记是在我正在测试运行的 JS 之后生成的。这意味着如果我有$('.something').click();那个事件永远不会被映射,因为 Qunit 还没有运行来创建“.something”所以我原来的 JS 找不到这个元素来正确绑定这个事件。

我找到了两种解决方案:

1.在我的灯具旁边硬编码我的标记

<!-- FIXTURES -->
<div id="qunit-fixture"></div>
<button class="btn-warning">text</button>

2.将我的事件 JS 添加到我的单元测试中。

var $fixture = $('#qunit-fixture');
$fixture.append('<button class="btn-warning">');
$('btn-warning').click(// Run Stuff);
// Test Code

这些选项中的任何一个对我来说似乎都不是好的做法。第一个更可取,因为它将事物分开,但很容易变得臃肿。第二个引入问题的原因很明显,因为我不再测试我实际使用的代码。

这是一个功能演示的小提琴

这可能吗?什么被认为是最佳实践?

4

0 回答 0