如果我有一个popover说,我想测试它:
将它声明放在一个地方(隐藏在#34;描述")中是有益的,这样它就可以在"它的"。
之间共享。是否应该在测试之间分享内容? I.E test2依赖于test1首先运行? 使用Jasmine的最佳方法是什么?
答案 0 :(得分:1)
依赖测试订单是件坏事。要在测试之间共享内容,您可以设置对象的状态。假设下面的伪代码:
var popover = getPopover({state:'init'});
//checking init state
...
//other test starting
var popover = getPopover({state:'manipulated'});
//checking the state
所以主要的想法是能够在你需要的状态下初始化你的对象。 请注意,如果执行初始化的代码不多,并且您不需要重复使用它,则可以对每个测试的状态设置进行硬编码。当然,它并不干燥,但您可以从可以阅读的测试中受益,而无需参考其他方法。有时这是件好事,但这取决于。
此外,您可以在每次测试之前和之后使用beforeEach
和afterEach
进行设置和拆卸(这是一个描述级别的事情)。这是执行状态初始化和清理的首选方法之一。