Delta Spike ( ) を使用して単体テスト内から CDI (Open Web Beans を使用) を動作させようとしています@RunWith(CdiTestRunner.class)
。依存性注入は正常に機能していますが、私の EntityManagerFactory は常に null です:
public class EntityManagerProducer {
@PersistenceContext(unitName = "sbPersistenceUnit")
private EntityManagerFactory emf; //Always null
@Produces
public EntityManager create() {
return emf.createEntityManager();
}
public void close(@Disposes EntityManager em) {
if (em.isOpen()) {
em.close();
}
}
}
persistence.xml
セッション ファクトリを手動で作成できるので、問題がないことはわかっています。
EntityManagerFactory test = Persistence.createEntityManagerFactory("sbPersistenceUnit");
他のすべての注射は正常に機能しています。何が欠けているか知っている人はいますか?