Mélange de Hamcrest et TestNG

Quelqu’un a-t-il intégré Hamcrest à TestNG pour que ses outils puissent facilement être utilisés dans les assertions TestNG?

En bref, pour répondre à votre question: vous n’avez pas besoin d’intégrer TestNG à Hamcrest. Appelez simplement org.hamcrest.MatcherAssert.assertThat(...) directement qui lève java.lang.AssertionError .

Contexte

J’ai trouvé votre question via Google, me demandant exactement le même problème. Après plus de recherches sur Google, je n’ai trouvé aucune réponse satisfaisante et j’ai donc lu le code source de l’intégration de JUnit avec Hamcrest.

Avec JUnit, l’intégration de Hamcrest est normalement utilisée en appelant:

 org.junit.Assert.assertThat( T actual, org.hamcrest.Matcher matcher) 

Lorsque je lis le code source, je l’ai découvert juste un petit wrapper pour appeler:

 org.hamcrest.MatcherAssert.assertThat( Ssortingng reason, T actual, org.hamcest.Matcher matcher) 

Cette fonction lève java.lang.AssertionError .

Si vous rencontrez un problème avec la méthode vide, je vous suggère d’append d’abord le hamcrest dans la liste des dépendances. ou importer le premier hamcrest , cela résoudra le problème.

J’utilisais TestNJ avec rexsl (en interne en utilisant Hamcrest) et il ne parvient pas à trouver une méthode vide. puis j’ai ajouté d’abord rexsl dans la liste des dépendances, si vous ajoutez la bibliothèque dans le chemin de la classe, vous pouvez essayer d’append d’abord celui de Hamcrest.

espérons que cela aidera quelqu’un comme moi.

Ce qui a fonctionné pour moi: 1. http://search.maven.org/

  1. Rechercher ‘java-hamcrest’ le dernier en date est ‘2.0.0.0’

  2. trouver une dépendance pour Gradle (dans mon cas)

  3. Ajout de la compilation ‘org.hamcrest: java-hamcrest: 2.0.0.0’ à build.gradle dans mon projet.