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.
Utilisez simplement le test:compile
commande.
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
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