1

現在、RubyonRailsアプリケーションで実行されているAngularJSのJasmineテストがあります。それで、VCRを使用して偽のデータを含むAPIJSONファイルを生成します。

それらのファイルをJavaScriptの単体テストに埋め込むことは可能でしょうか?

  • これらのファイルに対してAjax呼び出しを行わないことをお勧めします(パフォーマンス)
  • assets本番コードでは除外する必要があるため、入れないようにしています。

現在の構造は次のようになります。

spec / controllerSpec.js

scope.user.handleUserLoaded({
  "is_logged_in": true,
  "preferred_name": "Christian"
});
expect(scope.user.isAuthenticated()).toBeTruthy();

フィクスチャ/fake_data/user.json

{
  "is_logged_in": true,
  "preferred_name": "Christian"
}

この複製を行う代わりに、JavaScriptに何らかのインクルードを含めることをお勧めします。

scope.user.handleUserLoaded(<% include "fixtures/fake_data/user.json" %>);
expect(scope.user.isAuthenticated()).toBeTruthy();

これを行うための最良の方法は何でしょうか?
私たちは間違いなくファイルを移動したり、ファイルを使用.js.erbしたり、別のアプローチを試したりすることができます。

4

0 に答える 0