私のサイトの別々の部分には、別々のJavascriptファイルセットがあります。これらはすべて一緒になって互いに干渉し合います。 Jasmineですべてをテストするには、スイートごとに別々の資産セットを定義する必要があるようです。これは現在可能ですか?あれば、どうですか?ジャスミン:Rails用に別々のソースファイルセットを定義しますか?
8
A
答えて
2
あなたの提案するように、JavaScriptを別の名前空間に分割することを検討してください。 javascriptを複数のファイルに分割することを簡単にする1つのすばらしい方法は、closureとjavascriptのいくつかのきちんとしたプロパティを使用して、必要なコードをただちに実行し、それを含むmodule patternを使用することです。
+0
2つのjsファイルが同じ名前の関数を定義している場合はどうなりますか? Webアプリケーションでは、両方がロードされず、ジャスミンで衝突します。 – apneadiving
+1
謝罪;以前はJasmineを使用していませんが、一般的に上記の手順はjavascriptファイルを分割するのに適しています。同じ名前の関数が2つある場合は、おそらくそれぞれの名前空間/クラスに属しているはずです。 – NT3RP
関連する問題
- 1. Railsアプリケーションの管理インターフェース用に別々のビューとアセットを定義する
- 2. ジャスミン:なぜ未定義?not.toBeDefined?
- 3. メディアの左右のボリュームを別々に設定しますか?
- 4. Django:最初のページで別々にページを設定します
- 5. 画面の向きに基づいて別々のXAMLレイアウトを定義する
- 6. ジャスミンのcalls.lengthとcallCountは定義されていません
- 7. stderr outとstdoutを別々のログに再定義する方法は?
- 8. ジャスミン:要求が定義されていません
- 9. Flexの別の定義で以前のregex定義を使用するには?
- 10. Rails 3.2で "error_messages"を使用しますか? (上げる「未定義のメソッド」エラー)
- 11. 別々の仮想ホスト用に別々のエラーログを作成する方法
- 12. 別のファイルに定義定数を使用する
- 13. 関数内でジャスミン仕様を定義しても、beforeEachを適用することは可能ですか?
- 14. postgisオブジェクトと関数定義を別々のスキーマにロードするにはどうすればよいですか?
- 15. なぜ、人々がScalaの別のオブジェクトの中にクラス、特性、オブジェクトを定義するのですか?
- 16. "Q jsは未定義です。"試験方法(カルマ+ジャスミン)
- 17. Eslintの角度とジャスミン:定義されていないno-undef
- 18. 各要素の機能を別々に実行しますか?
- 19. HTMLページごとに別々のjavascriptファイルを使用していますか?
- 20. C++でクラス宣言と定義を2つの別々のファイルに置くのはなぜですか?
- 21. JSプロトタイプ関数をディクショナリよりも速く別々に定義するのはなぜですか?
- 22. ジャスミンは、オブジェクトが特定のメソッドまたは私はジャスミンを使用していない
- 23. Rails 4 2つのフォーム、1つのページに別々のモデル
- 24. 未定義のメソッド 'make_activation_code' Restful_Authenticationを使用したRailsエラー
- 25. Rails 3.2 NoMethodError(アジャイルブックを使用したline_itemの未定義メソッド `price = ')
- 26. カルマ・ランナーでカルマ・ジャスミン・プロバイダーを使用している間、ジャスミン・テストをスキップしたとマークしますか?
- 27. 別々のソリューションを別々のプロジェクトに分ける
- 28. ChromeはCSSをオンラインとオフラインで別々にレンダリングしますか?
- 29. Rails 3ビューヘルパーは未定義ですか?
- 30. Rails: "params"はどこに定義されていますか?
どのように相互に干渉するのか説明できますか? Javascriptを慎重に名前空間に配置し、定義する前に名前空間内の各モジュールがすでに定義されているかどうかを確認する場合は、競合を避ける必要があります。おそらく、紛争の例を挙げると、紛争を避けるために物を再梱包する方法を示すことができます。 Rails 3.1のアセットパイプラインは、(デフォルトでは、とにかく)1つのapplication.jsで定義されたすべてのjavascriptを持つことができるようになります(つまり、すべてのモジュールは1つのファイルにロールアップされます)。 – mwolfetech
私は自分のサイトの公開部分と管理部分のJSファイルを設定しました。どちらの関数も同じ名前のグローバル変数を持っていました。私がやったことは、(1)共通の動作を共有JSファイルに含めること、(2)(クラスと継承を実装する)(http://ejohn.org/blog/simple-javascript-inheritance/)行動の変種。ですから、基本的にはJSファイル全体をまとめて整理し、同時に共存させることができます。しかし、私はまだファイルのサブセットだけをテストすることで価値が見えます。 –