web-dev-qa-db-fra.com

Hamcrest - quelle version utiliser? 1,3 ou 2

Je suis assez confus. Actuellement, je teste mon application Spring en utilisant 

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
</dependency>

J'étais heureux tant que je voulais faire correspondre RegularExpressions. Dans hamcrest 1.3, vous devez écrire votre propre matcher, ce que je n’aimais pas tant que ça… .. J'ai cherché et découvert que hamcrest 2.0 avait quelque chose de intégré, comme:

assertThat(DateHelper.getActualDateForXML(), MatchesPattern.matchesPattern("\\d{4}+-\\d{2}-+\\d{2}+T\\d{2}+:\\d{2}+:\\d{2}+"));

J'étais heureux, j'ai ajouté:

<dependency>
    <groupId>org.hamcrest</groupId>
    <artifactId>hamcrest-junit</artifactId>
    <version>2.0.0.0</version>
    <scope>test</scope>
</dependency>

Et jeté les dépendances 1.3 hamcrest du test print-boot-starter:

<exclusions>
    <exclusion>
       <groupId>org.hamcrest</groupId>
       <artifactId>hamcrest-library</artifactId>
    </exclusion>
    <exclusion>
       <groupId>org.hamcrest</groupId>
       <artifactId>hamcrest-core</artifactId>
    </exclusion>
</exclusions>

Maintenant, tout fonctionne toujours comme prévu, mais je ne me sens pas vraiment à l'aise. Parce que je ne peux que trouver des personnes écrivant à propos de la version 1.3 et ne trouvant pas vraiment l’utilisation de hamcrest-junit 2.0.

Quelqu'un peut-il m'expliquer le lien qui les unit? Parce qu'il semble que hamcrest-junit 2.0 ait tout intégré à partir de hamcrest 1.3 ...

Merci ben

27
ben

Excellente réponse de Ivo , qui devrait vraiment recevoir plus de votes, mais voici quelques informations supplémentaires. Si vous recherchez des informations sur les dépendances dans Maven, Java Hamcrest 2.0.0.0 et Hamcrest JUnit 2.0.0.0 , il existe des liens usage . Au moment où j'écris ceci, nous avons 74 et 68 respectivement, et pas de projets majeurs après une brève navigation.

2
Daniel C. Sobral

Le projet Hamcrest vient de version 2.1 _ et ils retravaillent la structure du package après examen approfondi . Assurez-vous de suivre la procédure de mise à niveau ... L’artefact Java-hamcrest 2.0.0.0 est considéré comme un tentative infructueuse maintenant.

0
dschulten