使用摩卡测试余烬js?

时间:2014-03-12 17:48:54

标签: javascript ember.js mocha

我将linemantestemembermocha+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

1 个答案:

答案 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
        });
    });
});