describe
qunit-bdd在QUnit中的作用大部分與module
的作用相同。不同之處在於它們可以嵌套在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。我們正在討論如何改變這一點。你的建議可能會奏效,但是需要明確修改qunit-bdd作爲ember-qunit。我寧願在ember-qunit中擁有共享代碼,然後爲qunit-bdd提供一個簡單的包裝器。也許類似於你的,但保持API qunit-BDD相同:
describe('PostsController', testFor('controller:posts', function() {
it('has a length', function() {
expect(this.subject.length).to.be.defined();
});
}));
任何建議,將不勝感激。
請注意,Qunit現在支持開箱即用的嵌套模塊。在這裏,我們正在跟蹤這個在ember-qunit中的支持:https://github.com/rwjblue/ember-qunit/issues/208 –