0

我正在尝试将 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
    }
4

1 回答 1

4

Mirage 在初始化程序中启动。由于初始化程序仅在完整的 Ember 应用程序启动时运行,因此默认情况下 Mirage 服务器仅在验收测试中可用。

要在集成或单元测试中使用 Mirage,请遵循手动启动 Mirage 服务器的文档。目前,文档是这样说的:

要在单元测试或集成测试期间运行 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);
   }
 });
于 2016-07-27T20:42:27.223 回答