私は今、play フレームワークと、ガーディアン紙https://github.com/guardian/sbt-jasmine-pluginによって作成された jasmine プラグインに固執しています。
jasmine をプレイ テストで実行できるようになりましたが、require が原因で問題が発生します。
ケース:
test.dependencies.js でテストしたいアプリやその他のモジュールを読み込もうとしています。これはエラーになります
MISMATCHED ANONYMOUS DEFINE() MODULES
。私のjsファイルはすべてdefineでラップされています。これは、すべてがクラッシュし、テストが実行されないことを意味します。現在の仕様でテストしたいモジュールを呼び出すために、記述の周りで定義を呼び出そうとしています。これにより、次のエラーが発生
InternalError: Couldn't read source file "./test.js: ./test.js (No such file or directory)". (rjs/r-2.0.1.js#2114).
します。どこからロードしようとしているかを確認するのは本当に難しいです。しかし、このエラーを作成する r-2.0.1.js です。テストしたい現在のjsファイルを呼び出そうとして
require()
いますが、ファイルは現在テストと呼ばれています。これにより、次のエラーが発生Error: Module name "test" has not been loaded yet for context: _.
します。何をすべきかわかりません。現在のjsファイルでrequireを呼び出そうとしていますが、絶対パスでテストしたいです。これは、それが機能するという結果になります。しかし、関数変数に何かを書いた場合のみ。これは何でも構いません。define(function(variable) {...}) の関数呼び出しで変数を削除すると、次のエラーが発生します。
Error: Module name "test" has not been loaded yet for context: _.
テストだけを要求しようとすると、ファイル名は test.js になります。これにより、エラーが発生しました。
InternalError: Couldn't read source file "./test.js: ./test.js (No such file or directory)". (rjs/r-2.0.1.js#2114)
確率変数が存在するかどうかに関係なく、ここで同じ奇妙なことが起こります。絶対パスの変数で要求しようとしているので、1 か所に配置するだけです。これにより、Error: Module name "path..../test.js" has not been loaded yet for context: _ 絶対パスが存在することを意味しますが、何らかの理由でロードされていません。要求する前に変数をコンソールログに記録することもできますが、それは正しいです。
defineで空のリストを定義しても奇妙なことは解決できません。ただし、関数内の変数のみ。定義配列で実際に何かを定義しない限り。
誰かがこれについて何らかの洞察を持っていることを願っています。私は本当に迷っています。