Kalkınma Odaklı Testi ima kodundan önce testi yazma ve aşağıdaki belirli döngüsü :
- Yazma Testi
- Testi Kontrol Et (çalıştır)
- Üretim Kodunu Yaz
- Testi Kontrol Et (çalıştır)
- Temizlik Üretim Kodu
- Testi kontrol et (çalıştır)
Bu konuda, ancak geliştirme çözümünüz üretim ve test kodu arasında çok hızlı bir şekilde geçiş yapmanıza ve belirli bir üretim kodu parçası için testi son derece hızlı bir şekilde gerçekleştirmenize izin veriyorsa mümkündür.
C Birim Testi Çerçeveleri ++ (I atm Bost.Test kullanıyorum.) Bir sürü var mevcut iken Şimdi, oradaki görünüyor gelmez gerçekten herhangi terbiyeli (ana kadar yerel C ++ TDD yapar) Visual Studio (Eklenti) çözümü kullanılan çerçeveye bakılmaksızın katlanılabilir döngü.
"Katlanılabilir", ayrı bir test projesi vb. Ayarlamak zorunda kalmadan belirli bir cpp dosyası için bir test çalıştırmanın tek tıklamayla gerçekleştirildiği anlamına gelir. "Katlanılabilir" aynı zamanda basit bir testin (bağlantı! .
Peki, TDD döngüsünü Visual Studio ile yerel C ++ geliştirme için mümkün kılan hangi araçlar (eklentiler) ve teknikler var?
Not: Ücretsiz veya "ticari" araçlar konusunda iyiyim.
Lütfen : Çerçeve önerisi yok . (Çerçevede özel bir Visual Studio eklentisi yoksa ve eklentiyi tavsiye etmek istemiyorsanız.)
Düzenleme Not : Şimdiye kadar verilen cevaplar, Birim Testi çerçevesinin Visual Studio'ya nasıl entegre edileceğine dair bağlantılar sağlamıştır. Kaynaklar aşağı yukarı ilk Testlerinizi derlemek ve çalıştırmak için UT çerçevesinin nasıl alınacağını açıklar. Bu sorunun konusu bu değil . Gerçekten verimli bir şekilde çalışmak, Birim Testlerini manuel olarak (!) Yapmak, üretim sınıflarınızdan ayrı bir vcproj'un, TDD'nin "mümkün olmadığı" kadar ek yük getireceğini düşünüyorum. Bildiğim kadarıyla farkındayım, sen do not Birim Testleri ve TDD etkinleştirmek için bir Java veya C # şeye ekstra "projelerini" ekleyin ve iyi bir nedenle. Bu olmalı doğru araçlar verilen C ++ ile mümkün, ancak görünüşe göre (bu soru yaklaşık) TDD / C ++ / VS için çok az araç var.
Dolaşırken , doğru yönde nişan alan bir araç olan VisualAssert'i buldum . Ancak, afaiks, yaygın kullanımda gibi görünmüyor (CppUnit, Boost.Test vb. İle karşılaştırıldığında).
Düzenleme: Bu sorunun bağlamına bir yorum eklemek istiyorum. Sanırım sorunun ana hatlarını çizmenin iyi bir özetini yapıyor: (yorum: Billy ONeal )
Visual Studio, kullanıcı tarafından makul bir şekilde düzenlenebilir "komut dosyaları oluşturma" kullanmaz. Bir proje bir ikili oluşturur. Dahası, Java, Java'nın hiçbir zaman tam bir ikili dosya oluşturma özelliğine sahiptir; oluşturduğunuz ikili dosya sadece bir ZIP dosyasıdır. Bu nedenle ayrı ayrı derlemek ve sonra manuel olarak JAR (örneğin 7z kullanarak) derlemek mümkündür. C ++ ve C # her ikisi de aslında ikili dosyalarını bağlar, bu nedenle genellikle böyle bir komut dosyası yazamazsınız. Alabileceğiniz en yakın şey her şeyi ayrı ayrı derlemek ve daha sonra iki bağlantı yapmaktır (biri üretim için, diğeri test için).
7z
) derlemek mümkündür . C ++ ve C # her ikisi de aslında ikili dosyalarını bağlar, bu nedenle genellikle böyle bir komut dosyası yazamazsınız. Alabileceğiniz en yakın şey her şeyi ayrı ayrı derlemek ve daha sonra iki bağlantı yapmaktır (biri üretim için, diğeri test için).
As far as I am aware, you do not add extra "projects" to a Java or C# thing to enable Unit Tests and TDD,
<- Bunun doğru olduğunu düşünmüyorum. Genellikle C # 'da birden fazla projeniz vardır; test kodunuzu üretim ikili dosyasında göndermek istemezsiniz.