Arquillianを使用して、既存のプロジェクトでいくつかの単体テストを実行しようとしています。
私の基本的なテスト:
@RunWith(Arquillian.class)
public class InferenceTest {
@EJB private InferenceEJB inferenceEJB;
@Deployment
public static JavaArchive createDeployment() {
return ShrinkWrap.create(JavaArchive.class)
.addClasses(...my classes...)
.addPackages(false, ...packages from my classes...)
.addAsManifestResource(
EmptyAsset.INSTANCE,
ArchivePaths.create("beans.xml")
);
}
@Test
public void testInference() throws NamingException {
assertNotNull("Successfully injected an EJB", inferenceEJB);
}
}
これをMaven(mvn test)で実行すると、山のような問題が発生します。基本的に、それらは3つのことに要約されます。
- 一部のEJB(ここではテストされておらず、このテストで使用されるものには挿入されていない)が解決されなかったことを示す「SEVERE」メッセージ。
重大:アプリのデプロイ中の例外[e03a719e-27d5-4cdd-af7f-70831402560c]:参照を解決できませんLocal ejb-ref name = ...... ExportEJB / managerEJB、Local 3.x interface = ..... .. .DataManagerEntity、ejb-link = null、lookup =、mappedName =、jndi-name =、refType = Session PlainTextActionReporterFAILUREDescription:デプロイ中にAdminCommandErrorが発生しました:アプリのデプロイ中に例外が発生しました[e03a719e-27d5-4cdd-af7f-70831402560c]:解決できません参照ローカルejb-refname= ....... ExportEJB / managerEJB、Local 3.x interface = ........ DataManagerEntity、ejb-link = null、lookup =、mappedName =、jndi-name = 、refType=Session。詳細については、server.logを参照してください。
- inferenceEJBがnullであるため、テストは失敗します。
関係するすべてのクラス/パッケージを@Deploymentに追加することで最初の問題を解決しようとしましたが、成功しませんでした。そして、私は最後のものを引き起こしているものがわかりません。
誰かアイデアはありますか?