我将lineman
与testem
,ember
和mocha+chai
一起使用。
我想测试ember
。到目前为止,由于测试脚本和测试页面的处理方式,我可以访问页面并测试它的内容。
测试页面看起来像
------------------------
Loop through mocha test cases
------------------------
Ember App View
------------------------
然而,当我尝试测试内容之外的东西,如页面标题:
describe('testing page title', function () {
it('should equal ember-template', function () {
visit('/');
find('title').text().should.equal('ember-template');
find('title').length; // this is 0
});
});
它给我一个错误
✘ expected '' to equal 'ember-template'
AssertionError: expected '' to equal 'ember-template'
如何使用ember
完全测试mocha
?
答案 0 :(得分:2)
visit()
是异步的,而find()
是同步的(它只是引擎盖下的jquery选择),因此到页面的转换可能还没有完成你查看标题。 andThen()
测试助手将在执行回调之前等待前面的异步活动完成。请尝试以下方法:
describe('testing page title', function () {
it('should equal ember-template', function () {
visit('/');
andThen(function() {
find('title').text().should.equal('ember-template');
find('title').length; // this is 0
});
});
});