Đây là lớp học java của tôi:Làm thế nào để tiêm PersistenceContext trong thử nghiệm đơn vị?
public class Finder {
@PersistenceContext(unitName = "abc")
EntityManager em;
public boolean exists(int i) {
return (this.em.find(Employee.class, i) != null);
}
}
Đây là bài kiểm tra đơn vị:
public class FinderTest {
@Test public void testSimple() {
Finder f = new Finder();
assert(f.exists(1) == true);
}
}
kiểm tra không thành công với NullPointerException
từ Finder.em
không được tiêm bởi bất cứ ai. Tôi nên xử lý tình huống này đúng cách như thế nào? Liệu có thực hành tốt nhất nào tồn tại?
tôi phải làm tiêm này "bằng tay" trong mọi thử nghiệm đơn vị, phải không? – yegor256
Không có Spring nào có thể phân tích cú pháp chú thích @PersistenceContext và chèn nó vào lớp Finder của bạn. Bạn chỉ cần tham khảo ApplicationContext từ FinderTest. –