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);
});

config が 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 に答える