問題タブ [shrinkwrap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Arquillian テストでリソース ファイルを開くことができません
arquillian を使用した統合テストで、テスト用の CSV ファイル (xxx.csv) を読み取りたいです。次のようにアーカイブをパックしています。
プリントが私を示している場所:
ご覧のとおり、ファイルは明らかにアーカイブにあります (最後の行)。
今、私はそれを開こうとしています。私が試してみました:
しかし、どれも機能しません。
jakarta-ee - Arquillian はステートレス Bean を @Inject できません
Arquillian 1.1.8 との統合テストがあり、コンテナーとして Wildfly 8.2.1 を使用しています。これはテストです:
実行すると、次の例外が発生します。
機能しているインジェクションを含む同様のテストがあるので、一般的な問題ではありません。
編集: CSVFileWriter のインポートは次のとおりです。
maven - Arquillian ShrinkWrap Web アーカイブは、異なる環境で異なる方法で作成されました
ShrinkWrap を使用して war ファイルを作成しています。Eclipse および m2eclipse (maven) を使用してテストを実行すると、開発環境で正しく動作します。
Jenkins で実行すると、戦争の展開が異なるため、テストが失敗します。たとえば、Jenkins 環境で作成された war では空であるマニフェスト リソースとして、war にカスタム MANIFEST.MF を追加しています。
何か案は?
編集:MANIFEST.MFを追加するためにさまざまな方法を試しましたが、元のコードは次のとおりです。
しかし、私も試しました:
また、最初に MANIFEST.MF を削除して (ShrinkWrap によって追加された場合)、アーカイブに追加しようとします。
ちなみに、私のローカル環境では上記のすべてが正常に動作します
アップデート:
2 つの戦争の唯一の違いは、依存関係 arquillian-jacoco であることに気付きました。Jenkins では、jacoco を使用してカバレッジを実行するプロファイルを使用してテストを実行することを忘れていました。
したがって、依存関係 (プロファイルではなく) を削除すると、テストに合格すると、MANIFEST.MF が正しく作成されます。
これは、jacoco 拡張機能が何らかの形で MANIFEST.MF を台無しにしていることを意味していると思いますか?
java - Arquillian の ShrinkWrap を使用して Gradle testCompile 依存関係を WebArchive に追加する方法は?
私のgradle.build
ファイルには次の依存関係があります。これを最終ファイルに配置したくありませんが、テスト フェーズでテストwar
を実行するために必要です。Arquillian
Maven を使用している場合は、次のように記述できます。
しかし、私はGradleリゾルバーを使用しているので、それはできないと思います:
Gradleでこれを行う方法はありますか? 上記の依存関係を追加しないと、私のテストNoClassDefFoundError
は Selenium クラスで失敗します。ただし、Selenium の依存関係をcompile
ではなくに変更testCompile
すると動作しますが、war ファイルのサイズが 3 メガバイトから 20 メガバイトに跳ね上がり、テスト クラスがいっぱいになります。
前もって感謝します。
java - arquillian でのデータソースの設定
したがって、メインでpersistence.xmlを使用するプロジェクトがあり、src/main/resources/META-INFにあります
自動化された単体テストの作成にインメモリ データベース (H2) を使用したいので、別の persistence.xml が必要です。src/test/resouce/META-INF にあります。
だから私の質問は、どうすれば最初の永続性を上書きできるかということです。
また、shrikwrap リゾルバーを使用して pom.xml からすべての依存関係を解決しているので、すべて解決し、それを shrikwrap に追加して WebArchive を返します。方法はありますか。すべてを解決して展開に追加します。
私のArquillianデプロイメントは以下にあります: