2011-07-25 33 views
4

TestNGテストケースで@Inject注釈を使用したいと思います。このテストは、リモートJBoss AS 6インスタンスのArquillianによって実行されます。TestNG - @ Before *注釈を使用していても動作していないのに動作しない

テストケース

public class WorksheetControllerTest extends Arquillian { 

    @PersistenceContext 
    @Produces 
    @Default 
    EntityManager em; 

    @Inject 
    private UserTransaction utx; 

    @Deployment 
    public static WebArchive createTestArchive() { 
     return ShrinkWrap 
      .create(WebArchive.class, "test.war") 
      .addClasses(SomeClass.class) 
      .addAsWebInfResource(new ByteArrayAsset("<beans />".getBytes()), ArchivePaths.create("beans.xml")) 
      .addAsResource("persistence-test.xml", "META-INF/persistence.xml"); 
    } 

    //@BeforeClass 
    //@BeforeTest 
    @BeforeMethod 
    public void initTestData() throws Exception { 
     // ... 

     utx.begin(); 
     em.persist(someEntity); 
     utx.commit();   
    } 

    @Test 
    public void testGetEmployeeFromTimesheet() throws Exception { 
    // ...   
    } 
} 

私は手動で、単一の試験方法でinitTestData()メソッドを呼び出す場合、私は適切に注入されている...

作業:テストは、基本的にはこのようになります使用するリソース。私は(@BeforeClass@BeforeTest@BeforeMethod)上に与えられた注釈のいずれかを使用している場合は、すべての注入されたリソースは(UTXとEMヌルであるため、

は、テストケースが失敗した...

未加工および私がテストしたい他のクラスもあります)。

私はあなた自身とあなたに人々に尋ねています:何が間違っていますか?

敬具、 セバスチャン

答えて

関連する問題