describe
在 qunit-bdd 中的行为大部分与module
在 QUnit 中相同。不同之处在于它们可以嵌套在 qunit-bdd 中,并且每个嵌套级别将对应于module
名称连接在一起的调用。例如,这将导致三个调用module
:
describe('Foo', function() {
it('is a function', function() {
expect(typeof Foo).to.equal('function');
});
describe('#foo', function() {
it('says FOO', function() {
expect(new Foo().foo()).to.equal('FOO');
});
});
describe('#bar', function() {
it('says BAR', function() {
expect(new Foo().bar()).to.equal('BAR');
});
});
});
因为无法控制module
调用什么函数,所以(还)无法将 qunit-bdd 与 ember-qunit 一起使用。我们正在讨论如何改变这一点。您的建议可行,但需要为 ember-qunit 显式修改 qunit-bdd。我更喜欢在 ember-qunit 中拥有共享代码,然后为 qunit-bdd 提供一个瘦包装器。也许与您的类似,但保持 qunit-bdd 的 API 相同:
describe('PostsController', testFor('controller:posts', function() {
it('has a length', function() {
expect(this.subject.length).to.be.defined();
});
}));
任何建议,将不胜感激。