|
@@ -47,3 +47,31 @@ $ git commit -m "Les tests sont de retour"
|
|
|
$ git push
|
|
|
```
|
|
|
|
|
|
+## Note à propos de PiTest
|
|
|
+
|
|
|
+Avec la configuration par defaut du build.xml :
|
|
|
+
|
|
|
+```xml
|
|
|
+<!-- ligne 114 -->
|
|
|
+<target name="m1" description="Verification des projets de TDD2019" depends="clean,build,tests,mutationCoverage" />
|
|
|
+
|
|
|
+<!-- Define the SonarQube target -->
|
|
|
+<target name="sonar" depends="m1" description="Analyse le code avec SonarQube">
|
|
|
+```
|
|
|
+
|
|
|
+La commande `ant -Detudiant=prenom_nom sonar` (qui est utilisé pour valider le code dans l'intégration continue de Gitlab), ne va pas lancer les tests sonar si tous les tests unitaires ne passent pas (ce qui peut être gênant). Ceci est causé par la dépendance qu'a sonar vers m1 et m1 vers mutationCoverage. Si tous les tests unitaires ne sont pas passés alors PiTest (mutationCoverage) va échouer, hors comme sa dépendance échoue, m1 échoue. Donc sonar ne se lance pas car sa dépendance à échoué.
|
|
|
+
|
|
|
+Pour résoudre le problème j'ai déplacé le test de mutation. Il n'est plus exécuté en tant que dépendance de m1, mais en tant que subant. Ce qui permet en cas d'erreur de ne pas faire échouer m1 et donc permettre de lancer sonar. Le nouveau code est le suivant.
|
|
|
+
|
|
|
+```xml
|
|
|
+<!-- ligne 114 -->
|
|
|
+<target name="m1" description="Verification des projets de TDD2019" depends="clean,build,tests">
|
|
|
+ <subant failonerror="false" target="mutationCoverage">
|
|
|
+ <fileset dir="." includes="build.xml" />
|
|
|
+ </subant>
|
|
|
+</target>
|
|
|
+
|
|
|
+<!-- Define the SonarQube target -->
|
|
|
+<target name="sonar" depends="m1" description="Analyse le code avec SonarQube">
|
|
|
+```
|
|
|
+
|