【发布时间】:2016-01-13 16:53:40
【问题描述】:
这适用于 Ember 2.2.0。我想使用来自我的 API 服务器的实时数据使用ember-data 来测试我的组件,而不是来自测试助手、手动 AJAX 请求或来自ember-cli-mirage 之类的工具的模拟数据。目前我在我的测试中只有这段代码:
import { moduleForComponent, test } from 'ember-qunit';
import hbs from 'htmlbars-inline-precompile';
moduleForComponent('checkbox-group', 'Integration | Component | checkbox group', {
integration: true
});
test('it renders', function(assert) {
this.render(hbs`{{checkbox-group}}`);
assert.equal(this.$().text().trim(), '');
});
我想做的是这样的:
test('it renders', function(assert) {
const store = getStoreFromSomewhere();
const model = store.find('data').then(() => {
this.render(hbs`{{checkbox-group data=model}}`);
// Do testing on component with model from server
});
});
问题是我不知道如何获取 store 实例,另外我不知道 ember 是如何进行异步测试的。
文档帮助不大:/。有人可以让我知道如何获取商店实例,如果不可能,用ember-data 进行此测试的另一种方法?
【问题讨论】:
-
检查了我的一个旧测试,我得到了它“var store = this.store();”
-
@kristjanreinhold 没用 :(
-
还有那个 import "import { test, moduleForModel } from 'ember-qunit';" > 完整测试链接 => dpaste.com/26GKG3G
-
我在这里回答了类似的问题:stackoverflow.com/a/53868283/6423435
标签: javascript unit-testing ember.js integration-testing