Comment compiler des tests avec SBT sans les exécuter


97

Existe-t-il un moyen de créer 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 d'exécuter une partie ou la totalité du code de test en utilisant un runner 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 la modification des fichiers de construction du projet.

Réponses:



21

test:compile fonctionne pour compiler vos tests unitaires.

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

Un autre conseil pour compiler en continu à chaque changement de fichier: ~test:compile


6

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

J'ai découvert que je ne pouvais compiler que les tests pour un projet spécifique nommé xyzen faisant:

sbt xyz/test:compile
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.