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?
cevap
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.
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 –
Henüz belirtilmemiş gibi görünen iki yararlı C++ test çerçevesi Boost test
ve Google Test
'dur.
+1 – TheJuice
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.
- 1. C++ projelerinde x86 platformunu kullan
- 2. symfony2 tdd gelişen
- 3. Android için Cocos2d-X için TDD
- 4. TDD ve Kod Kapsamı
- 5. WPF/Silverlight için TDD tipi metodoloji
- 6. TDD, fonksiyonel testi assertRegex
- 7. Yii2 Projelerinde Entegrasyon Raporico
- 8. Visual Studio TDD Project için kod kapsamı aracı
- 9. Açık kaynak projelerinde tuzlama şifreleri
- 10. TDD İlkeleri'ni kullanarak JavaScript'te Kullanıcı Arayüzü Geliştirme
- 11. PHP projelerinde hataların ele alınması için desenler var mı?
- 12. Açık kaynak projelerinde git depoları için en iyi yöntemler
- 13. OSX 10.7 Yeni XCode Projelerinde Önkoşul Hataları
- 14. Visual Studio bağımlı yeniden inşa projelerinde durdu
- 15. TDD for Windows Store uygulama geliştirme alay olmadan
- 16. TDD (Rails); page.should ve expect arasındaki fark (sayfa) .to?
- 17. iOS TDD: UIVIew animateWithDuration kullanan bir yöntemin sınanması: animasyonlar: tamamlama:
- 18. Bir çözüm dosyası olmayan DNX projelerinde `dnu build 'nasıl çalıştırılır?
- 19. C# Kültürler: DayOfWeek'i yerelleştirin mi?
- 20. TDD - zamana dayalı işlevselliği test içinde uygulamadan nasıl test edebilirim?
- 21. C++ karma siparişi verdi mi?
- 22. Lambda VB.net içinde mi? C#
- 23. C++ Java kodunu arayabilir mi?
- 24. C# String.Format() PHP'de Eşdeğer mi?
- 25. Va ++ C++ ile karşılaştırıldığında ayrıştırmak için bir akıl dili mi?
- 26. C# için "varsayılan" serileştirme statik alanları serileştirir mi?
- 27. OpenMP'yi C++ 11 serisi döngüler için mi kullanıyorsunuz?
- 28. C# kodu yerel ikili dosyalar için derlenmiş mi?
- 29. CMake, C dosyalarını derlemek için g ++ kullanabilir mi?
- 30. C# bir sözlük için ContainsAny() yöntemine sahip mi?
UnitTest ++, projelerimin çoğunda kullandığım şeydir. –
C++ ve TDD'deki bu video dizisine göz atın: http://www.vimeo.com/album/254486/video/13240481 –