Bagaimana cara mengelola tes non-unit dalam suatu proyek?


9

Saya memiliki beberapa kode dalam proyek yang saya sebut secara pribadi testsyang bukan tes unit. Mereka dimaksudkan untuk dijalankan dan hasilnya harus dievaluasi oleh manusia. Saya melakukan ini karena saya membuat mesin fisika dan selama pengembangan, saya perlu melihat apa yang saya lakukan. Jadi saya membuat simulationpaket di modul tes saya. Secara teknis unit test karena simulasi menggunakan unit test library tetapi saya tidak bermaksud menjalankan semuanya seperti tes unit saya yang sebenarnya.

Apa yang ingin saya lakukan adalah membedakan tes khusus dari tes unit saya karena saya ingin menjalankan semua tes unit dengan mudah. Saya pikir ini mirip dengan tes fungsional. Apakah Anda pernah menemukan kasus di mana Anda harus mempersiapkan aplikasi Anda untuk tes fungsional? Di mana persiapan tes fungsional itu (pada dasarnya apa simulasi saya) harus ditempatkan dalam proyek dan bagaimana membedakan mereka dari tes unit?

Saya berada di Jawa sehingga saya bisa mengubah semua metode tanda tangan saya dari @Test public void myNamedTest()menjadi public static void main(String[] args)tetapi itu akan melelahkan dan kurang praktis bagi saya untuk menggunakan simulasi saya.

Saya menggunakan junitdalam suatu gradleproyek. Solusi apa pun yang membuat folder uji khusus gradledipersilahkan.


2
Saya pikir yang Anda bicarakan adalah test rig di mana Anda dapat menjalankan tes ad hoc. Ini sudah ada selama yang saya ingat (30+ tahun) - bahkan mungkin sebelum itu. Mereka biasanya duduk di proyek terpisah yang dapat mengakses perpustakaan atau apa pun, tetapi Anda dapat menyusunnya sesuka Anda.
Robbie Dee

3
Istilah unit / integrasi / tes fungsional menggambarkan ruang lingkup tes: apa yang sedang diuji. Itu sepenuhnya independen dari cara pengujian ini dijalankan, mis. Tes manual vs. tes otomatis. Mungkin ada tes penerimaan otomatis dan tes unit manual, dan apa pun di antaranya. Jadi, jika Anda menggunakan JUnit untuk menjalankan tes fungsional manual, itu tidak apa-apa - jaga agar keduanya terpisah dari tes otomatis Anda sehingga tidak berjalan secara default.
amon

Jawaban:


10

Sepertinya versi selanjutnya dari kategori dukungan tes Junit. Ini dapat bermanfaat untuk mengklasifikasikan setiap tes. Kemudian ketika otomasi build berjalan, ia dapat menyertakan atau mengecualikan tes tersebut berdasarkan kategori.

Apakah Anda ingin mencampuradukkan tes ini dengan tes unit adalah masalah preferensi organisasi. Seseorang mungkin ingin membuat proyek "test rig" yang terpisah untuk memisahkan tes unit reguler versus yang lebih khusus.

https://dzone.com/articles/closer-look-junit-categories

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.