Jasmine / Maven Autogenerated ManualSpecrunner.htmlのJavaScriptファイルへのパスを構成するにはどうすればよいですか?
-
28-10-2019 - |
質問
質問はそのほとんどを言っていると思います。 maven / jasmineプラグインによって作成された自動生成のManualSpecrunner.htmlファイルがあり、次のことを使用して展開可能な.warにそれ自体を置くためにそれを持っています。
<jasmineTargetDir>${basedir}/pathForMyWebapp</jasmineTargetDir>
ただし、ManualSpecrunner.html内のJSファイルへのすべてのリンクはハードコード化されたファイルです:///参照 - これは少し精神的です。また、WebApp IEにもあるファイルへの相対パスになりたいです。
現在、それは私にこの道を与えてくれます:
file:///home/username/code/HEAD/pathForMyWebapp/js/yui.js
一方、はるかにシンプルなものを持つために必要です
/pathForMyWebapp/js/yui.js
私はMavenスクリプトで他の2つの変数を変更しようとしましたが、どちらも望ましい効果を持っていないようです。これらの構成オプションのどちらも私が必要とすることを行いません。
<jsSrcDir>/pathForMyWebapp</jsSrcDir>
または
<jsTestSrcDir>/pathForMyWebapp</jsTestSrcDir>
ドキュメントを調べましたが、何かが欠けているに違いないと思います(また、にリストされているさまざまな構成パラメーションに関するメモもあります https://github.com/searls/jasmine-maven-plugin/blob/master/src/main/java/com/github/searls/jasmine/abstractjasminemo.java 私が間違っている場合、またはそれが不可能な場合は、私はそれを行うことを意図しているので、私はうまくいくことができます!)
助言がありますか?
PS私は彼らに敏感な情報を持っているので、パス名のいくつかを変更したので、彼らの奇妙さを無視してください!
解決
私はあなたの混乱の原因を理解していると思います。 Jasmine-Maven-Pluginのターゲットをディレクトリに指示しようとしているようです 中身 プロジェクトのパッケージ *.WARファイルがサーバーに展開された後に仕様を実行できるように、それは正しいですか?
残念ながら、プラグインはその使用を念頭に置いて設計されていませんでした。 jasmineTargetDir
通常、ディレクトリはデフォルト値に残されています target/jasmine
アプリケーションにバンドルされることを意図していませんでした(それは target/surefire-reports
JavaユニットテストのためにMaven-Surefire-Pluginによって生成されます)。したがって、スクリプトがタグ付けする理由 ManualSpecRunner.html
無効な場所を指すことは、プロジェクトを構築しているワークステーションのブラウザでローカルファイルシステムから実行されるためにそのファイルが生成されるためです(TDDを促進するため)。
それはすべて、私があなたの意図を正しく読んでいるなら、アプリで展開してリモートで実行できる3番目のスペックランナーを構築するのはクールな機能だと思います。 (特に、プロジェクトのジャスミンの仕様が単独テストとは対照的に機能的/統合である場合)。残念ながら、それはまだプロジェクトが行っていることではありません。
今のところ、ジャスミンテストをバンドルして展開されたサーバーで実行する必要がある場合は、コピーする必要があると思います。 ManualSpecRunner.html
そしてあなたのジャスミン src/main/webapp
, 、スクリプトタグ参照を修正し、ファイルが追加されて削除されたときに手動で維持します。
わかる?