最初由Andreas在邮件列表上发布,在这里重新发布,这样"qunit-bdd“标签就可以供其他人使用。
余烬-q单位添加了一个方便的
moduleFor助手,可以用来替代QUnit的module函数。现在,成员-q单位抽象的东西,所以我从来不用使用模块功能,我不知道我是否可以。我的问题有两个:
describe的行为是否与module相同?moduleFor / moduleForComponent?如果没有第二种解决方案,那么像describe(moduleFor('controller:posts'), function() { … })这样的东西就更好了。
发布于 2014-04-16 15:43:23
QUnit中的describe -bdd与module在QUnit中的作用基本相同。不同之处在于,它们可以嵌套在qunit中,每个嵌套级别都对应于一个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和ember。我们正在讨论如何改变这种状况。您的建议可以工作,但将需要修改qunit-bdd明确成员-qunit。我更喜欢在成员-qunit中共享代码,然后为qunit-bdd设置一个薄包装器。也许类似于您的API,但是将API保持在qunit-bdd相同的位置:
describe('PostsController', testFor('controller:posts', function() {
it('has a length', function() {
expect(this.subject.length).to.be.defined();
});
}));如有任何建议,将不胜感激。
https://stackoverflow.com/questions/23113917
复制相似问题