Cara mengompilasi pengujian dengan SBT tanpa menjalankannya

97

Apakah ada cara untuk membuat pengujian dengan SBT tanpa menjalankannya?

Kasus penggunaan saya sendiri adalah menjalankan analisis statis pada kode pengujian dengan menggunakan plugin scalac. Kasus penggunaan lain yang mungkin adalah menjalankan beberapa atau semua kode pengujian menggunakan runner terpisah dari yang ada di dalam SBT.

Idealnya, ada solusi untuk masalah ini yang berlaku untuk proyek SBT mana pun. Misalnya, Maven memiliki perintah kompilasi pengujian yang dapat digunakan hanya untuk mengompilasi pengujian tanpa menjalankannya. Alangkah baiknya jika SBT memiliki hal yang sama.

Kurang ideal, tetapi masih sangat membantu, akan menjadi solusi yang melibatkan modifikasi file build proyek.

pengguna1809090
sumber

Jawaban:

160

Cukup gunakan test:compileperintah.

Guillaume Massé
sumber
1
apakah ini mengkompilasi tes dan kode? atau hanya tes?
Jwan622
21

test:compile berfungsi untuk menyusun pengujian unit Anda.

Untuk menyusun pengujian integrasi, Anda dapat menggunakan it:compile.

Petunjuk lain untuk terus mengkompilasi pada setiap perubahan file: ~test:compile

Brendan Maguire
sumber
6

Kami memiliki build.sbtfile yang digunakan untuk banyak proyek. Melakukan sbt test:compilekompilasi tes untuk setiap proyek dan memakan waktu lebih dari 30 menit.

Saya menemukan bahwa saya hanya dapat menyusun tes untuk proyek tertentu yang dinamai xyzdengan melakukan:

sbt xyz/test:compile
pacoverflow
sumber