Saya tahu sudah ada beberapa pertanyaan mengenai rekomendasi untuk kerangka uji unit C ++, tetapi semua jawaban tidak membantu karena mereka hanya merekomendasikan salah satu kerangka kerja tetapi tidak memberikan informasi apa pun tentang perbandingan (fitur).
Saya pikir kerangka kerja yang paling menarik adalah CppUnit, Boost dan kerangka pengujian Google yang baru. Adakah yang sudah melakukan perbandingan?
c++
unit-testing
cppunit
googletest
boost-test
pembantu rumah tangga
sumber
sumber
Jawaban:
Lihat pertanyaan ini untuk beberapa diskusi.
Mereka merekomendasikan artikel: Menjelajahi C ++ Jungle Framework Pengujian , Oleh Noel Llopis. Dan yang terbaru: Kerangka Kerja Unit Tes C ++
Saya belum menemukan artikel yang membandingkan googletest dengan kerangka kerja lainnya.
sumber
Seorang pemain baru adalah Google Test (juga dikenal sebagai Google C ++ Testing Framework ) yang cukup bagus.
Fitur utama:
ASSERT_EQ(5, Foo(i)) << " where i = " << i;
SCOPED_TRACE
untuk loop subrutinsumber
Saya baru saja mendorong kerangka kerja saya sendiri, CATCH , di luar sana. Ini masih dalam pengembangan tetapi saya percaya itu sudah melampaui sebagian besar kerangka kerja lainnya. Orang yang berbeda memiliki kriteria yang berbeda tetapi saya telah mencoba untuk menutupi sebagian besar tanpa terlalu banyak pertukaran. Lihatlah entri blog saya yang terhubung untuk pencicip. Lima fitur utama saya adalah:
Ini juga memiliki binding Objective-C. Proyek ini di-host di Github
sumber
CHECK_FLASE
danREQUIRE_FLASE
makro.Boost Test Library adalah pilihan yang sangat baik terutama jika Anda sudah menggunakan Boost.
Ini mendukung:
PS: Saya menulis sebuah artikel tentang hal itu yang dapat membantu Anda memulai: C ++ Kerangka Pengujian Unit: Tutorial Tes Peningkatan
sumber
Wikipedia memiliki daftar lengkap kerangka pengujian unit , dengan tabel yang mengidentifikasi fitur yang didukung atau tidak.
sumber
Saya baru-baru ini merilis xUnit ++ , khususnya sebagai alternatif untuk Google Test dan Boost Test Library (lihat perbandingannya ). Jika Anda terbiasa dengan xUnit.Net, Anda siap untuk xUnit ++.
Fitur utama:
Assert.Equal(-1, foo(i)) << "Failed with i = " << i;
Log.Debug << "Starting test"; Log.Warn << "Here's a warning";
sumber
CppUTest - sangat bagus, kerangka kerja ringan dengan perpustakaan tiruan. Bermanfaat untuk melihat lebih dekat.
sumber
CPUnit ( http://cpunit.sourceforge.net ) adalah kerangka kerja yang mirip dengan Google Test, tetapi yang bergantung pada lebih sedikit makro (menegaskan fungsi), dan di mana makro diawali untuk menghindari perangkap makro yang biasa. Tes terlihat seperti:
Mereka mendaftar otomatis, jadi Anda tidak perlu lebih dari ini. Kemudian hanya kompilasi dan jalankan. Saya menemukan menggunakan kerangka kerja ini sangat mirip dengan menggunakan JUnit, bagi mereka yang harus menghabiskan waktu pemrograman Java. Sangat bagus!
sumber
Ada beberapa sumber daya unit pengujian C ++ yang relevan di http://www.progweap.com/resources.html
sumber
API Sanity Checker - kerangka uji untuk pustaka C / C ++:
Fitur unik dibandingkan dengan CppUnit, Boost dan Google Test:
sumber