Saat menulis tes untuk satu perangkat lunak, katakan perpustakaan, apakah Anda lebih suka mengkompilasi semua tes unit menjadi satu, atau memisahkannya menjadi beberapa yang dapat dieksekusi?
Alasan saya bertanya adalah karena saya saat ini menggunakan CUnit untuk menguji perpustakaan yang sedang saya kerjakan. Pengujian dibagi menjadi beberapa suite terpisah yang dikompilasi menjadi satu yang dapat dieksekusi lengkap dengan hasil cetak untuk kegagalan. Sekarang, sistem build untuk perpustakaan itu adalah CMake (yang, terlepas dari namanya, tidak ada hubungannya dengan CUnit), yang dilengkapi dengan kerangka pengujian sendiri, CTest . CTest memungkinkan saya untuk mendaftar daftar yang dapat dieksekusi yang berfungsi sebagai tes.
Saya sedang mempertimbangkan apakah akan menggunakan CTest untuk menjalankan pengujian otomatis. Namun, ini akan mengharuskan saya untuk membagi tes yang saya tulis sejauh ini menjadi target kompilasi yang terpisah. Kalau tidak, saya tidak bisa benar-benar memanfaatkan beberapa fitur canggih CTests, seperti tes yang dijalankan secara selektif.
Saya menyadari ini lebih merupakan pertanyaan tentang alat apa yang digunakan dan penanganan serta konvensi mereka, tetapi selain itu, adakah alasan lain untuk memilih satu pengujian yang dapat dieksekusi daripada yang terpisah? Atau sebaliknya?