在下面的代码中,我可以使用then
代替andThen
,我发现一切运行正常。那么,andthen的特殊之处是什么?
test('Clicked on the About page /about', function(assert) {
visit('/')
.click('a:contains("About")')
.then(function(){
assert.equal(currentURL(), '/about', 'SHould Navigate to about')
})
});
test('Clicked on the About page /about', function(assert) {
visit('/')
.click('a:contains("About")')
.andThen(function(){
assert.equal(currentURL(), '/about', 'SHould Navigate to about')
})
});
答案 0 :(得分:1)
then
与等待诺言完成加载有关。 andThen
等待Ember的运行循环完成,然后再调用内部代码。
此外,在Ember中较新的样式测试中,测试助手(单击,填充等)均返回诺言,并且我们不再需要使用andThen