gpt4 book ai didi

ember.js - 如何将 qunit-bdd 与 ember-qunit 一起使用?

转载 作者:行者123 更新时间:2023-12-03 06:37:11 24 4
gpt4 key购买 nike

最初由 Andreas Haller 在邮件列表上发布,在此处重新发布,以便“qunit-bdd”标签可供其他人使用。

ember-qunit adds a handy moduleFor helper which one can use as an alternative to QUnit's module function. Now ember-qunit abstracts things so that i never have to use the module function and i don't know if i could. My question is twofold:

  1. Does describe defacto act the same as module?
  2. How can i use ember-qunit's moduleFor / moduleForComponent?

If there is no solution for #2 yet something like describe(moduleFor('controller:posts'), function() { … }) would be nice.

最佳答案

qunit-bdd 中的

describe 的作用与 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 一起使用。我们正在讨论如何改变这种状况。您的建议可行,但需要针对 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();
});
}));

如有任何建议,我们将不胜感激。

关于ember.js - 如何将 qunit-bdd 与 ember-qunit 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23113917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com