I'm using JUnit 4.11 to run integration tests on my SpringBoot application. I have the following test case :
    @Test
public void testClassementMarcheActeTranche() throws IOException, PlanDeClassementException {
    NodeRef nodeRefRepertoireSasGda = servicePlanDeClassementMarche.getSpace(SpaceUtil.SAS_GED_MARCHE.name());
    NodeRef nodeRefPiece = setUpCreateActe(nodeRefRepertoireSasGda, "1 (Tranche 1 Marché 2019-19M0059001) (Tranche 1 Marché 2019-19M58785858)", "Courrier de reconduction");
    classementDocumentsActionJobExecuter.executeImpl(null, nodeRefPiece);
    String siteName = serviceRegistry.getSiteService().getSite(nodeRefPiece).getShortName();
    QName typePiece = serviceRegistry.getNodeService().getType(nodeRefPiece);
    assertThat(typePiece, equalTo(TYPE_PIECE.getQName()));
    NodeRef parentFolder = serviceRegistry.getNodeService().getPrimaryParent(nodeRefPiece).getParentRef();
    String parentFolderName = serviceRegistry.getFileFolderService().getFileInfo(parentFolder).getName();
    NodeRef marcheFolder =  serviceRegistry.getNodeService().getPrimaryParent(parentFolder).getParentRef();
    QName typeMarche = serviceRegistry.getNodeService().getType(marcheFolder);
    assertThat(typeMarche, equalTo(TYPE_MARCHE.getQName()));
    String marcheFolderName = serviceRegistry.getFileFolderService().getFileInfo(marcheFolder).getName();
    NodeRef millesimeFolder =  serviceRegistry.getNodeService().getPrimaryParent(marcheFolder).getParentRef();
    String millesimeFolderName = serviceRegistry.getFileFolderService().getFileInfo(millesimeFolder).getName();
    NodeRef cdrFolder =  serviceRegistry.getNodeService().getPrimaryParent(millesimeFolder).getParentRef();
    String cdrFolderName = serviceRegistry.getFileFolderService().getFileInfo(cdrFolder).getName();
    String numeroMarche = (String)nodeService.getProperty(nodeRefPiece, PROP_NUMERO_DU_MARCHE.getQName());
    String dateModificationnMarche = nodeService.getProperty(nodeRefPiece, PROP_DATE_DE_NOTIFICATION_DU_MARCHE.getQName()).toString();
    String categorieMarche = (String)nodeService.getProperty(nodeRefPiece, PROP_CATEGORIE_DU_MARCHE.getQName());
    String etatMarche = (String)nodeService.getProperty(nodeRefPiece, PROP_ETAT_DU_MARCHE.getQName());
    List<String> codeTitulaire = (ArrayList<String>)nodeService.getProperty(nodeRefPiece, PROP_CODE_TITULAIRE.getQName());
    List<String> titulaireMarche = (ArrayList<String>)nodeService.getProperty(nodeRefPiece, PROP_NOM_TITULAIRE.getQName());
    List<String> codeSousTraitant = (ArrayList<String>)nodeService.getProperty(nodeRefPiece, PROP_CODE_SOUS_TRAITANTS.getQName());
    List<String> nomSousTraitant = (ArrayList<String>)nodeService.getProperty(nodeRefPiece, PROP_NOM_SOUS_TRAITANTS.getQName());
    String typeDeProcedureMarche = (String)nodeService.getProperty(nodeRefPiece, PROP_TYPE_DE_PROCEDURE.getQName());
    String objetMarche = (String)nodeService.getProperty(nodeRefPiece, PROP_OBJET_DU_MARCHE.getQName());
    List<String> axe = (ArrayList<String>)nodeService.getProperty(marcheFolder, PROP_AXE_OPERATION_ORYSON_MARCHE.getQName());
    List<String> libEtablissement = (ArrayList<String>)nodeService.getProperty(marcheFolder, PROP_LIBELLE_ETABLISSEMENT_ENSEIGNEMENT_MARCHE.getQName());
    List<String> codeEtablissement = (ArrayList<String>)nodeService.getProperty(marcheFolder, PROP_CODE_ETABLISSEMENT_ENSEIGNEMENT_MARCHE.getQName());
    List<String> cdrMarche = (ArrayList<String>)nodeService.getProperty(marcheFolder, PROP_CDR_MARCHE.getQName());
    assertThat(marcheFolderName, equalTo("2019-19M58785858 - Lot 1 - Chantier des collections");
    nodeService.deleteNode(marcheFolder);
}
And the following error message :
java.lang.NoSuchMethodError: org.hamcrest.Matcher.describeMismatch(Ljava/lang/Object;Lorg/hamcrest/Description;)V
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:8)
at fr.package.alfresco.marche.actions.ClassementActeActionJobIT.testClassementMarcheActeTranche(ClassementActeActionJobIT.java:203)
I have followed the answers in this question : Getting "NoSuchMethodError: org.hamcrest.Matcher.describeMismatch" when running test in IntelliJ 10.5 So I ended up having this pom file :
<dependencies>
    <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>1.3</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-library</artifactId>
        <version>1.3</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <exclusions>
            <exclusion>
                <artifactId>hamcrest-core</artifactId>
                <groupId>org.hamcrest</groupId>
            </exclusion>
        </exclusions>
        <version>1.9.5</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <exclusions>
            <exclusion>
                <artifactId>hamcrest-core</artifactId>
                <groupId>org.hamcrest</groupId>
            </exclusion>
        </exclusions>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.jdbi</groupId>
        <artifactId>jdbi</artifactId>
        <version>2.78</version>
    </dependency>
</dependencies>
Although this haven't fixed the problem, anyone has an idea of how this persisting problem would be fixed ?
 
    