Tests

Contents

    Documents

    Vidéos

    @DataJpaTest

    Pour les tests JPA (autoconfigure h2 si c'est dans le classpath)

    @Autowired
    private TestEntityManager entityManager;
    

    Pour tester la persistence des données (fait un find par l'id, éventuellement généré) :
    User user = this.entityManager.persistFlushFind(new User("donald"));

    Test d'un composant SANS Spring Framework

    Sur la classe, mettre l'annotation @RunWith(MockitoJUnitRunner.class)

    Déclarer le composant sous test
    private UnderTestComponent cmp;

    Mocker les dépendances du composant sous test
    @Mock private Dependency1 dependency1;

    Créer le UnderTestComponent dans le before

    @Before
    public void setUp() throws Exception {
      cmp = new UnderTestComponent(dependency1);
    }
    

    Ensuite, écrire les tests :

    when(dependency1.ssth(anyString())).thenReturn(...);
    Val val = cmp.ceQueJeTeste(...);
    assertThat(val).isEqualTo(...);
    verify(linkRepository).findByFullUrl(anyString());
    

    Test de comportements asynchrones

    Exemple, il faut attendre que qqch soit processé par une queue…

    Si on fait en synchrone (je pousse dans la queue, je relis), ça marche un coup sur deux…

    Solution : utiliser await ! Qui fait du polling (par défaut, pendant 10 secondes).

    Awaitility.await().until(...);
    see :

    Proudly Powered by Zim 0.75.2.

    Template by Etienne Gandrille, based on ZeroFiveEight and using JQuery Toc Plugin.