Comment puis-je déboguer les cas de test exécutés par Tycho ?
-
16-12-2019 - |
Question
Lorsque vous utilisez Tycho pour créer un projet, les cas de test sont exécutés dans un nouveau processus en utilisant le lanceur Equinox pour exécuter -application org.eclipse.tycho.surefire.osgibooter.headlesstest
.
Comment puis-je déboguer les cas de test ?
La solution
Il existe un moyen beaucoup plus simple d'y parvenir :
Ajoutez simplement -DdebugPort=8000
à votre ligne de commande Maven et attachez une session de débogage à distance.
Voir les documents http://www.eclipse.org/tycho/sitedocs/tycho-surefire/tycho-surefire-plugin/test-mojo.html#debugPort
Autres conseils
Ajoutez ceci à votre POM :
<profiles>
<profile>
<id>debug</id>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<argLine>-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y</argLine>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
Vous pouvez maintenant activer le débogage avec mvn ... -P debug
lorsque la ligne suivante est imprimée :
Écoute du transport dt_socket à l'adresse :8000
Voir le Aide Eclipse pour configurer l'EDI.