Das ist meine Java-Klasse:Wie wird PersistenceContext während des Komponententests injiziert?
public class Finder {
@PersistenceContext(unitName = "abc")
EntityManager em;
public boolean exists(int i) {
return (this.em.find(Employee.class, i) != null);
}
}
Dies ist das Gerät zu testen:
public class FinderTest {
@Test public void testSimple() {
Finder f = new Finder();
assert(f.exists(1) == true);
}
}
Testing nicht mit NullPointerException
seit Finder.em
wird von niemandem injiziert. Wie soll ich mit dieser Situation richtig umgehen? Gibt es Best Practices?
ich diese Injektion zu tun habe, „von Hand“ in jedem Unit-Test, nicht wahr? – yegor256
Nein Spring kann die @PersistenceContext-Annotation analysieren und in Ihre Finder-Klasse einfügen. Sie müssen nur auf den ApplicationContext von FinderTest verweisen. –