我正在尝试将ember-cli-mirage灯具整合到一些测试中。我按照这里的文档:ember fixtures
问题:未定义服务器。错误信息:
ReferenceError: server is not defined
模型test.js:
import { moduleForModel, test } from 'ember-qunit';
moduleForModel('network', 'Unit | Model | network', {
needs: []
});
test('it exists', function(assert) {
server.loadFixtures('networks'); //no defined
andThen(function() {
let net1 = networks.first();
});
assert.ok(true);
});
我还验证了配置设置为true。
ENV['ember-cli-mirage'] = {
enabled: true
}
答案 0 :(得分:4)
Mirage在初始化程序中启动。由于初始化程序仅在完整的Ember应用程序启动时运行,因此默认情况下Mirage服务器仅在验收测试中可用。
要在集成或单元测试中使用Mirage,请按照the docs on manually starting your Mirage server进行操作。目前,文档说这个:
要在单元测试或集成测试期间运行Mirage服务器,请首先创建一个帮助程序:
// tests/helpers/start-mirage.js import mirageInitializer from '../../initializers/ember-cli-mirage'; export default function startMirage(container) { mirageInitializer.initialize(container); }
然后,将以下内容添加到您希望Mirage初始化的任何测试中:
// tests/integration/components/your-test.js import startMirage from '../../../helpers/start-mirage'; moduleForComponent('your-component', 'Integration | Component | your component', { integration: true, setup: function() { startMirage(this.container); } });