web-dev-qa-db-fra.com

Comment compiler des tests avec SBT sans les exécuter

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

Mon propre cas d'utilisation consiste à exécuter une analyse statique sur le code de test à l'aide d'un plug-in scalac. Un autre cas d'utilisation possible consiste à exécuter tout ou partie du code de test à l'aide d'un exécuteur 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 a une commande test-compile qui peut être utilisée uniquement pour compiler les tests sans les exécuter. Ce serait formidable si SBT avait la même chose.

Moins idéales, mais toujours très utiles, seraient des solutions qui impliquent de modifier les fichiers de construction du projet.

93
user1809090

Utilisez simplement le test:compile commande.

152
Guillaume Massé

test:compile fonctionne pour compiler vos tests unitaires.

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

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

16
Brendan Maguire

Nous avons un build.sbt fichier 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 ne pouvais compiler que les tests d'un projet spécifique nommé xyz en faisant:

sbt xyz/test:compile
0
pacoverflow