C'est ma classe java:Comment injecter PersistenceContext pendant un test unitaire?
public class Finder {
@PersistenceContext(unitName = "abc")
EntityManager em;
public boolean exists(int i) {
return (this.em.find(Employee.class, i) != null);
}
}
C'est le test unitaire:
public class FinderTest {
@Test public void testSimple() {
Finder f = new Finder();
assert(f.exists(1) == true);
}
}
test échoue avec NullPointerException
depuis Finder.em
n'est pas injecté par personne. Comment dois-je gérer cette situation correctement? Existe-t-il une meilleure pratique?
que je dois faire dans chaque test unitaire cette injection « manuellement », non? – yegor256
Aucun ressort ne peut analyser l'annotation @PersistenceContext et l'injecter dans votre classe Finder. Vous devez juste vous référer au ApplicationContext du FinderTest. –