2016-07-27 13 views
0

私はいくつかのテストにember-cli-mirageフィクスチャを統合しようとしています。私はここの文書に従った:ember fixturesEmberミラージュサーバーがテストで定義されていません

問題:サーバーは定義されていません。エラーメッセージ: 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 
    } 

答えて

3

ミラージュはイニシャライザで起動します。イニシャライザは完全Emberアプリが起動したときにのみ起動するため、デフォルトでMirageサーバは受け入れテストでのみ使用できます。

ミラージュを統合テストまたはユニットテストで使用するには、the docs on manually starting your Mirage serverに従ってください。現在のドキュメントは、これを言う:あなたはミラージュを初期化したい任意のテストに以下を追加し、その後

// tests/helpers/start-mirage.js 
import mirageInitializer from '../../initializers/ember-cli-mirage'; 

export default function startMirage(container) { 
    mirageInitializer.initialize(container); 
} 

は最初の作成、ユニットや統合テスト中にヘルパーをあなたのミラージュ・サーバを実行するには:

// 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); 
    } 
}); 
関連する問題