2016-09-29 11 views
0

をテストを実行します。Arquillian:私は、このようなArquillianテストを持っているjarファイルを展開し、それに対して

@Deployment 
public static JavaArchive createDeployment() { 
    return ShrinkWrap.create(JavaArchive.class, "ejb.jar");// ejb.jar is in a resource root 
} 

@EJB 
private DateService dateService; 

@Test 
public void shouldBeAbleToInjectEJB() throws Exception { 
    Assert.assertNotNull(dateService); 
} 

私はArquillianは戦争デコレータをcreatsし、サーバーにデプロイしようとしていることがわかり:

19:18:34,773 WARN [org.jboss.weld.deployer] (MSC service thread 1-5) JBAS016012: Deployment deployment "test.war" contains CDI annotations but beans.xml was not found. 
19:18:34,822 INFO [org.jboss.web] (ServerService Thread Pool -- 15) JBAS018210: Register web context: /test 
19:18:35,010 INFO [org.jboss.as.server] (management-handler-thread - 2) JBAS018559: Deployed "test.war" (runtime-name : "test.war") 
19:18:35,590 INFO [org.jboss.web] (ServerService Thread Pool -- 15) JBAS018224: Unregister web context: /test 
19:18:35,617 INFO [org.jboss.as.server.deployment] (MSC service thread 1-8) JBAS015877: Stopped deployment test.war (runtime-name: test.war) in 30ms 

間違っている何?なぜすぐに解雇されたのですか?

+0

0.5秒後に展開されましたが、テストを実行するには十分でしたか?あなたの完全な展開方法ですか?このような場合、これは失敗するはずです。 –

答えて

0

Jarにリソースを追加していません。 ejbが追加されました。 DateServiceはあなたが作成しテストしたいEJBですか?あなたがテストを実行しているプロジェクトの中にありますか? Arquillianでは、必要なすべてのリソースをデプロイされたjarファイルに追加する必要があります。

@Deployment 
public static JavaArchive createDeployment() { 
    return ShrinkWrap.create(JavaArchive.class, "ejb.jar").addClass(DateService.class);// ejb.jar is in a resource root 
} 

@EJB 
private DateService dateService; 

@Test 
public void shouldBeAbleToInjectEJB() throws Exception { 
    Assert.assertNotNull(dateService); 
} 
関連する問題