Lấy ví dụ rất cụ thể của lớp JpaDao
quy định tại article này:Thử nghiệm đơn vị nào để viết cho một lớp bằng cách sử dụng Generics trong Java?
public abstract class JpaDao<K, E> implements Dao<K, E> {
protected Class<E> entityClass;
@PersistenceContext
protected EntityManager entityManager;
public JpaDao() {
ParameterizedType genericSuperclass = (ParameterizedType) getClass().getGenericSuperclass();
this.entityClass = (Class<E>) genericSuperclass.getActualTypeArguments()[1];
}
public void persist(E entity) { entityManager.persist(entity); }
public void remove(E entity) { entityManager.remove(entity); }
public E findById(K id) { return entityManager.find(entityClass, id); }
}
nó sẽ là tốt nhất để viết các unit test cho tất cả các thực thể tồn tại trong ứng dụng (Order
, Customer
, Book, vv), hoặc nó sẽ được chấp nhận để viết các bài kiểm tra đơn vị cho chỉ một thực thể, như được gợi ý bởi điều này other question? Có bất kỳ thực hành tốt nhất liên quan đến đơn vị thử nghiệm các lớp học java sử dụng Generics?