18 votes

Quels tests unitaires écrire pour une classe utilisant des generics en Java ?

En prenant l'exemple très précis de la classe JpaDao définie dans cet article:

public abstract class JpaDao implements Dao {
    protected Class entityClass;

    @PersistenceContext
    protected EntityManager entityManager;

    public JpaDao() {
        ParameterizedType genericSuperclass = (ParameterizedType) getClass().getGenericSuperclass();
        this.entityClass = (Class) 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); }
}

serait-il préférable d'écrire des tests unitaires pour toutes les entités existantes dans l'application (Order, Customer, Livre, etc.), ou serait-il acceptable d'écrire des tests unitaires pour une seule entité, comme suggéré par cette autre question? Y a-t-il des bonnes pratiques concernant les tests unitaires des classes Java utilisant des génériques?

0voto

Aron Rodrigues Points 11

Tester la classe concrète permet d'éviter le problème de la surcharge plus tard.

C'est beau de faire des tests génériques mais ce n'est pas sûr.

Vous pouvez copier-coller la plupart des tests unitaires pendant le développement, et plus tard vous pouvez personnaliser les tests.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X