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ヌルであるため、
は、テストケースが失敗した...
未加工および私がテストしたい他のクラスもあります)。
私はあなた自身とあなたに人々に尋ねています:何が間違っていますか?
敬具、 セバスチャン