以此文章中定义的JpaDao
类为例:
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); }
}
在单元测试方面,是将所有现有实体(Order
、Customer
、Book
等)都写上单元测试最好呢,还是只为一个实体编写单元测试就可以了,就像这个其他问题中所暗示的那样?在使用泛型的情况下,有关于Java类进行单元测试的最佳实践吗?