2017-06-13 8 views
0

私のアプリケーションでは、firebaseを使ってデータを格納し、取り出します。テストのためのミラージュと開発のためのファイアベース - Emberjs

しかし、テスト目的のために、私はデータをサーバーから取得したくないので、私はmirageを使ってデータを模擬し、模擬データをテストする必要があります。私のアダプタ/ application.jsで

、私はfirebase adapater

import Ember from 'ember'; 
import FirebaseAdapter from 'emberfire/adapters/firebase'; 
const { inject } = Ember; 
export default FirebaseAdapter.extend({ 
    firebase: inject.service(), 
}); 

が、私は蜃気楼を使用したいテスト、私は蜃気楼にアダプタを変更したいので、私の質問の場合を使用して?事前に感謝します

答えて

0

あなたのconfig/environment.jsでこれを行う必要があります。あなたがあなたのケースのテストでENVに基づいて異なる設定する必要が

 if (environment === 'test') { 
     // Testem prefers this... 
     ENV.locationType = 'none'; 
     ENV['ember-cli-mirage'] = { 
      enabled: true 
      } 
     // keep test console output quieter 
     ENV.APP.LOG_ACTIVE_GENERATION = false; 
     ENV.APP.LOG_VIEW_LOOKUPS = false; 

     ENV.APP.rootElement = '#ember-testing'; 
     } 

私はあなたがあなたのアダプターへのあなたのアダプター異なる設定のインポート設定環境を持つようにしたい場合は似たものを持っていたし、その後ENV.hostまたは他の変数を使用し、

 if (environment === 'test') { 
     ENV.host = something 


     } 
    if (environment === 'development') { 
     ENV.host = something else 

     } 

アクティブアダプターの変更例。

import ActiveModelAdapter from 'active-model-adapter'; 
    import DataAdapterMixin from 'ember-simple-auth/mixins/data-adapter-mixin'; 
    import config from '../config/environment'; 

    export default ActiveModelAdapter.extend(DataAdapterMixin, { 
     namespace: 'api', 
     host: `${config.host}`, 
     authorizer: 'authorizer:custom' 
    }); 

私はあなたがそこにfirebaseので、カントの助けを使用することはありませんが、これはあなたがENVに基づいて、あなたのアダプタで異なる設定を持っているかです。

+0

私はこれをしましたが、依然としてfirebaseにリクエストを送信します。私はこれを使用したいミラージュにアクセスするために 'namesapce: 'api''を設定する必要がありますか? –

+0

'../config/environment'からインポート設定。 –

+0

私はそれが役立つことを希望しました。 –

関連する問題