2010-07-21 15 views
5

Sizden herhangi birinin, C++ projelerinizde TDD kullanıyor ve C# ve Java gibi yönetilen dillere kıyasla nasıl performans gösterdiğini öğrenmek istiyorum. Peki, C++ projelerinde testleri otomatikleştirmek için hangi çerçeveler kullanıyorsunuz?C++ projelerinde TDD için yeterli/üretken mi?

+1

UnitTest ++, projelerimin çoğunda kullandığım şeydir. –

+0

C++ ve TDD'deki bu video dizisine göz atın: http://www.vimeo.com/album/254486/video/13240481 –

cevap

1

Test Tahrikli Geliştirme herhangi bir dilde mümkündür. Dil için doğru test araçlarına ve metodolojilere ihtiyacınız vardır ve muhtemelen projeniz için özel bir test altyapısına ihtiyaç duyabilirler.

CppUnit'i (en az 1.x) çok zayıf bir çerçeve olarak buldum - C++ dilinde Java/C# deyimlerini kullanıyor gibi görünüyor ve STL yapıları için desteğe sahip değil.

Test Tahrikli Geliştirme (C) 'ye iyi bir örnek istiyorsanız, Wine projesine bakın - http://test.winehq.org/data/, test sonuçlarını Windows, Wine ve Wine deposundaki farklı taahhütler arasında gösterir. Kendi özel test altyapısına sahipler.

+0

Not: İnsanlar CppUnit'i kullanmaya devam ederken, orijinal yazar (Michael Feathers) tam bir yeniden yazma yaptı Kısaca, Eski Kod ile Etkili Olarak Çalışmak adlı bölümde kısaca açıkladı. Onun gözden geçirilmiş yaklaşımı, CppUTest, UnitTest ++ ve googletest'te görebileceğiniz makroları akıllıca kullanır. Google Test için –

1

Yakın zaman önce C++ kullanan bir projeye TDD kullanılarak geliştirilen bir C# projesinden taşındım. Ben oldukça korkutucuydum, ama C++ ile TDD'nin çok daha keyifli olduğunu ve kodun C++ ile geçmiş (TDD dışı) deneyimlerden hatırladığımdan daha sağlam olduğunu görüyorum.

Google Test kullanıyoruz. NUnit/MbUnit olarak kullanımı kolay değil, ama oldukça iyi çalışıyor gibi görünüyor. Ayrıca bir Google alay çerçeve http://code.google.com/p/googlemock var, ama henüz kullanmadım.

İlgili konular