4

質問がほとんどを語っていると思います。maven / jasmineプラグインによって作成された自動生成されたManualSpecRunner.htmlファイルがあり、次を使用して展開可能な.warに配置しました。

<jasmineTargetDir>${basedir}/pathForMyWebapp</jasmineTargetDir>

ただし、ManualSpecRunner.html 内の js ファイルへのすべてのリンクは、ハード コードされた file:/// 参照です。これは少し精神的な問題です。webapp にもあるファイルへの相対パスにする必要があります。

現在、このパスが表示されます:

file:///home/username/code/HEAD/pathForMyWebapp/js/yui.js

一方、はるかに単純にする必要があります

/pathForMyWebapp/js/yui.js

Mavenスクリプトで他の2つの変数を変更しようとしましたが、どちらも望ましい効果がないようです.これらの構成オプションはどちらも必要なことを行いません.2番目は効果がないようです:

<jsSrcDir>/pathForMyWebapp</jsSrcDir>

または

<jsTestSrcDir>/pathForMyWebapp</jsTestSrcDir>

私はドキュメントに目を通しましたが、何かが欠けているに違いないと思います (また、https://github.com/searls/jasmine-maven-plugin/blob/master/src/main/javaにリストされているさまざまな構成パラメーターに関する詳細なメモ/com/github/searls/jasmine/AbstractJasmineMojo.javaは、私が間違っているかどうか、またはそれが不可能な場合に解決できるように役立つはずです!)

助言がありますか?

[ps 機密情報が含まれているため、いくつかのパス名を変更しました。その奇妙さは無視してください!]

4

1 に答える 1

4

私はあなたの混乱の原因を理解していると思います。jasmine-maven-pluginのターゲットをプロジェクトのパッケージ化された*.warファイルのディレクトリに転送して、サーバーにデプロイした後にコードに対して仕様を実行できるようにしようとしているようですが、それは正しいですか?

残念ながら、プラグインはその使用を念頭に置いて設計されていません。jasmineTargetDirディレクトリは通常、デフォルト値ので残されておりtarget/jasmine、アプリケーションにバンドルされることを意図していません(target/surefire-reportsJavaユニットテスト用にmaven-surefire-pluginによって生成されるものに類似しています)。したがって、スクリプトタグがManualSpecRunner.html無効な場所を指している理由は、プロジェクトを構築しているワークステーションのブラウザでローカルファイルシステムから実行するためにそのファイルが生成されるためです(TDDを容易にするため)。

言うまでもなく、私があなたの意図を正しく読んでいれば、アプリでデプロイしてリモートで実行できる3番目のスペックランナーを構築することはクールな機能だと思います。(特に、プロジェクトのJasmine仕様が、分離された単体テストではなく機能/統合である場合。)残念ながら、それはプロジェクトがまだ行っていることではありません。

今のところ、ジャスミンテストをバンドルしてデプロイされたサーバーで実行する必要がある場合はManualSpecRunner.html、ジャスミンをコピーしてにコピーしsrc/main/webapp、スクリプトタグ参照を修正してから、ファイルが追加されたときに手動で維持する必要があります。削除されました。

わかる?

于 2011-05-05T01:42:37.697 に答える