【发布时间】:2013-05-20 04:00:10
【问题描述】:
更新:这是我的问题。测试一次通过,下一次失败:
http://jsfiddle.net/samselikoff/hhk6u/4/
问题是departments 有events.on("userSet:company"),所以两个变量都会响应事件。
这是关于单元测试的一般问题。在我的应用程序中,触发了某个事件,并且我的应用程序的其他几个部分侦听此事件。我想分别对每个部分进行单元测试,因为它们执行不同的功能;但要做到这一点,我必须在每个测试中触发事件。
这会导致问题,因为第一个测试必须触发事件,触发其他测试中的侦听器。如何在测试多个事件侦听器的同时保持测试的原子性?
(我使用的是 QUnit,但我认为这是一个更通用的单元测试问题)。
答案:
杰斐逊是正确的。解决此问题的一种简单方法是使用 events.once 而不是 events.on。这样您就可以清理每个测试中的事件。
【问题讨论】:
标签: unit-testing qunit