110 votes

Comment compiler des tests avec SBT sans les exécuter ?

Existe-t-il un moyen de construire des tests avec SBT sans les exécuter ?

Mon propre cas d'utilisation est d'exécuter une analyse statique sur le code de test en utilisant un plugin scalac. Un autre cas d'utilisation possible est l'exécution d'une partie ou de la totalité du code de test à l'aide d'un programme d'exécution distinct de celui intégré à SBT.

Idéalement, il y aurait une solution à ce problème qui s'applique à tout projet SBT. Par exemple, Maven possède une commande test-compile qui peut être utilisée uniquement pour compiler les tests sans les exécuter. Ce serait génial si SBT avait la même chose.

Les solutions qui impliquent de modifier les fichiers de construction du projet sont moins idéales, mais toujours très utiles.

178voto

Guillaume Massé Points 1329

Il suffit d'utiliser le test:compile commandement.

4 votes

Cela compile-t-il les tests et le code ? ou seulement les tests ?

26voto

Brendan Maguire Points 323

test:compile fonctionne pour compiler vos tests unitaires.

Pour compiler les tests d'intégration, vous pouvez utiliser it:compile .

Une autre astuce pour compiler continuellement à chaque changement de fichier : ~test:compile

11voto

pacoverflow Points 295

Nous avons un build.sbt qui est utilisé pour plusieurs projets. Faire sbt test:compile a compilé les tests pour chaque projet et a pris plus de 30 minutes.

J'ai découvert que je peux compiler uniquement les tests pour un projet spécifique nommé xyz en faisant :

sbt xyz/test:compile

11voto

ibanezn04 Points 143

Utilisation de sbt version 1.5.0 et supérieure test:compile renvoie un avertissement de dépréciation.

Utilice Test / compile .

( docs )

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X