CMockery adalah perpustakaan ringan yang digunakan untuk menulis tes unit C.
Tes CMockery dikompilasi menjadi executable yang berdiri sendiri dan ditautkan dengan perpustakaan cmockery, perpustakaan C standar, dan modul yang diuji. Simbol apa pun di luar modul yang diuji harus diejek - diganti dengan fungsi yang mengembalikan nilai yang ditentukan oleh pengujian - dalam aplikasi pengujian. Meskipun perbedaan yang signifikan mungkin ada antara lingkungan eksekusi target modul kode dan lingkungan yang digunakan untuk menguji kode, pengujian unit masih valid karena tujuannya adalah untuk menguji logika modul kode pada tingkat fungsional dan tidak harus semua interaksinya dengan lingkungan eksekusi target.
Mungkin tidak mungkin untuk menyusun modul ke dalam aplikasi pengujian tanpa beberapa modifikasi; Oleh karena itu, simbol preprocessor UNIT_TESTING harus ditentukan ketika aplikasi uji unit cmockery dikompilasi sehingga kode dalam modul dapat dikompilasi secara kondisional untuk pengujian.
Informasi lebih rinci tentang mekanisme tes penulisan dengan cmockery dapat ditemukan di docs/user_guide.md .
Untuk mengkompilasi Perpustakaan CMockery dan Contoh Aplikasi di Linux, Jalankan:
$ ./configure
$ make
Untuk mengkompilasi di windows, jalankan:
> vsvars.bat
> cd windows
> nmake
Kode ini telah diuji di Linux (Ubuntu) dan Windows menggunakan VC ++ 7 dan VC ++ 8.
Ada berbagai kerangka kerja pengujian unit C yang tersedia; Namun, banyak dari mereka cukup kompleks dan membutuhkan teknologi kompiler terbaru. Beberapa pengembangan membutuhkan penggunaan kompiler lama yang membuatnya sulit untuk menggunakan beberapa kerangka kerja pengujian unit. Selain itu, banyak kerangka kerja pengujian unit menganggap kode yang diuji adalah aplikasi atau modul yang ditargetkan ke platform yang sama yang pada akhirnya akan menjalankan tes. Karena asumsi ini, banyak kerangka kerja memerlukan dimasukkannya header perpustakaan C standar dalam modul kode yang diuji, yang dapat bertabrakan dengan implementasi pustaka C yang tidak lengkap atau tidak lengkap yang digunakan oleh kode yang diuji.
CMockery hanya memerlukan aplikasi pengujian dihubungkan dengan pustaka C standar yang meminimalkan konflik dengan header perpustakaan C standar. Juga, CMockery mencoba menghindari penggunaan beberapa fitur baru kompiler C.
Ini menghasilkan cmockery menjadi perpustakaan yang relatif kecil yang dapat digunakan untuk menguji berbagai kode eksotis. Jika pengembang ingin hanya menguji aplikasi dengan kompiler terbaru, maka kerangka kerja pengujian unit lainnya mungkin lebih disukai.
Jika Anda memiliki pertanyaan tentang CMockery, gunakan sumber daya berikut:
Stack Overflow: Gunakan tag cmockery
Mailing List: cmockery (at) googlegroups.com (arsip)
Untuk bergabung dengan akun Google, gunakan UI Web; Untuk berlangganan/berhenti berlangganan dengan alamat email yang sewenang -wenang, kirim email ke:
CMockery dilisensikan di bawah lisensi Apache 2.0; Silakan lihat LICENSE.txt untuk detailnya.