Herkes Visual-C ++ ile "gerçek" TDD yapıyor ve eğer evet, bunu nasıl yapıyorlar? [kapalı]


10

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).


2
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.
Billy ONeal

2
Bunu çerçevenin ele aldığını hiç görmedim. Bir ikilinin oluşturulması bir proje gerektirir. İki ikili dosya istiyorsunuz; biri test kodlu, diğeri üretim kodlu. Bu nedenle iki projeye ihtiyacınız var. Bunun hiçbir yolu yok.
Billy ONeal

1
@BillyONeal, (Java) projelerimden biri hariç tümünde, proje ana ve test kaynağını içeriyor - derleme betiği konuşlandırılabilir eserlere hangi parçaları koyacağını seçiyor.
Robert Mark Bram

2
@Robert: Visual Studio, kullanıcı tarafından makul bir şekilde düzenlenebilir "komut dosyaları" 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 kullanarak 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).
Billy ONeal

4
Ciddi anlamda? "İpucu: Her test bir ana işlev içermeli ve bir yürütülebilir dosya oluşturmalıdır." Bu, makul miktarda test için gülünç yavaş geliyor. Her çalıştırılabilir dosya için yalnızca bir test fikstürü anlamına gelseler bile, hala saçma tavsiye IMO'sudur. Bunu binlerce testle (orta ölçekli bir proje için) veya yüz binlerce testle (büyük bir proje için) deneyin ve kesinlikle delireceksiniz.
yasallaştırmak

Yanıtlar:


4

C ++ ve Visual Studio ile TDD yapma konusunda 5 bölümlük bir blog dizisi yazdım: bölüm 1 , bölüm 2 , bölüm 3 , bölüm 4 , bölüm 5 .

TDD yapmak için C # 'da ekstra projeler yapmadığınızı neden söylemediğinizden emin değilim, çünkü NUnit ile her zaman yaptığım şey bu ve diğer insanların NUnit ile de yaptığı şeylerin tipik olduğu görülüyor. Nedeni basit: Test kodunu daima üretim kodundan ayrı tutun. Visual Studio ile C ++ için bu, tıpkı C # ve NUnit için olduğu gibi ayrı projeler anlamına gelir. Java dünyası hakkında bildiklerime göre, bu da yaygındır.

Açıkçası, herkes TDD yapmak için neyin "katlanılabilir" olduğuna dair farklı fikirlere sahiptir. Uzun yıllar blog yazımda özetlediğim yöntemi uyguluyorum ve çok katlanılabilir buluyorum. C ++ derlenmiş bir dildir ve test edilen sistem yüksek oranda birleştiğinde derleme işleri yavaş olabilir. Daha gevşek bağlı bir tasarıma yeniden bakmadan bundan kurtulmak mümkün değil.

Benim "tek tıklamayla" eylemim "Build Solution". Bu çok fazla inşaat yapıyorsa, çalışırken ilgisiz projeleri her zaman kaldırabilirsiniz ve ardından Build Solution, değişiklikleriniz sonucunda güncellenmesi gereken projelerin yalnızca minimum alt kümesini oluşturacaktır.

C ++ derleme zamanı doğası, TDD işleminin her döngüsünde NUnit ve C # ile olduğundan biraz daha uzun sürmesini sağlıyor, ancak iyi test edilmiş C ++ kodumdan aldığım güven buna değer. Aksi takdirde hata ayıklayıcıda çok daha fazla zaman geçireceğim. Derleme süresini test etmek için önemli ölçüde ekleyebileceğinden, gmock kullanımınızda korumaya dikkat ediyorum. Şimdiye kadar çoğunlukla hafif "sahte" nesnelerle uzaklaştım ve nadiren alayların tam gelişmiş işlevselliğine ihtiyacım var. C ++ için alaycı çerçeveler büyük ölçüde şablon tabanlıdır ve bu derleme süresini önemli ölçüde artırabilir, bu yüzden gerçekten bir alay ve ihtiyaç duymadığınız bir yere ayrılmaları gerekir.

Üretim kodu için test projesi oluşturmanın bazı kazan plakası doğasını otomatikleştirmek için bir Boost.Test birim testi proje sihirbazı oluşturmayı düşündüm, ancak birkaç kez yaptıktan sonra gerçekten manuel olarak yapmak zor değil.

Birçok (150?) Projeye sahip çözümlere gelince, bununla başa çıkmanın yolları da var. Açık olan bir konu, ilgili proje gruplarını bulmak ve bunları bir araya getirmek ve tüketmeye / bir birim olarak yayınlamaya başlamaktır. Bir TDD döngüsü sırasında yaptığınız küçük değişiklikler için 150 projenin tamamını yeniden yapılandırmanız / dokunmanız gerekiyorsa, kodunuz o kadar yüksek bir şekilde birleştirilir ki, birim testleri çok fazla fark yaratmayacaktır.

NetBeans IDE bağlantısına baktığımda , test çıktısını ayrıştıran ve yanında yeşil veya kırmızı bir simgeyle küçük bir test satırı gösteren NUnit'ten gelmeyi özlediğimi düşündüğüm bir şey olan göz şekeri buluyorum , ama aslında kaçırmadım. Ben sadece başarısız başarısız derleme için daha yararlı buldum ve sonra hata penceresinde iddiayı başarısız iddianın yerine yerleştirmek için çift tıklayın.


“... neden C # 'da fazladan proje yapmadığınızı söylemediğinizden emin değilim… Java dünyası hakkında bildiğim kadarıyla bu da yaygındır…” Benim açımdan yanlış anlaşılmış olabilir. (En azından .NET için, .NET için bir yürütülebilir dosyaya ihtiyacınız olduğu için - java için sadece sınıf dosyalarına ihtiyacınız var, bu yüzden ekstra projenin nereye sığacağını tam olarak göremiyorum.)
Martin Ba

Java'nın projelerle nasıl çalıştığından emin değilim; Orada sınırlı deneyimim var. Bildiğim kadarıyla, projelerin dili değil IDE'nin bir artefaktı olduğunu anlıyorum. (Kesinlikle konuşmak gerekirse, bu C # için de geçerlidir, ancak kısa blog makaleleri veya gösterileri dışında herhangi bir şey için komut satırı derleyicisini kullanan kimseyi tanımıyorum.) Ancak, Java'da bile test kodunu kesinlikle üretim kodu, bu da sizin için ayrı projeler yapıyor. Üretim ve test kodunu ayırmak için şartlı olarak C ++ derlemenizi kesinlikle tavsiye etmiyorum.
yasallaştır

1
"Test kodunu üretim kodundan ayrı tutun, ki bu sizin için ayrı projeler yapıyor" - aha! Pek değil, IMHO. Ayrı bir "proje" C ++ ve .NET için bir gerekliliktir, çünkü her ikisini de çalıştırmak için bir yürütülebilir dosya ve bir (bir) yürütülebilir dosya oluşturmak için bir (bir) projeye ihtiyacınız vardır. Test kodunu üretim kodundan ayrı (veya değil) tutmakla iyiyim, ancak test yürütülebilir can sıkıcı oluşturmak için bir (artık) "proje" eklemek zorunda buluyorum. :-)
Martin Ba

1
İki yerleşik ürüne ihtiyacınız vardır: üretim kodu (statik kütüphane, paylaşılan kütüphane, yürütülebilir vb.) Ve test yürütülebilir. Visual Studio'da, oluşturulan her ürün bir projeye karşılık gelir, bu nedenle iki projeye ihtiyacınız vardır. Gerçekten bundan daha karmaşık değil. Birim test projesi yedekli DEĞİLDİR.
yasallaştırmak

2

Visual-C ++ kullanmıyorum, ama IDD olarak QtCreator ile googletest ve googlemock kullanarak C ++ ile TDD gerçekleştiriyorum. Yıllar önce Visual-C ++ ile benzer bir kurulum yaptım ama farklı bir birim test çerçevesi kullandım.

Yararlı bulduğum şey, projeyi birkaç alt projeye ayırmak.

  1. Gerçek proje kaynak kodunun% 99'unu içeren statik veya dinamik bir kitaplık.
  2. Normal programı çalıştırmak için çoğunlukla bir main () yönteminden oluşan bir proje.
  3. Test çerçevemi çalıştırmak için bir main () ve testler ve sahte nesneler içeren birçok dosya içeren bir test projesi.

Bu kurulumla, IDE'm çeşitli projelere dosya eklemeyle ilgilenir ve bağımlılıklar doğru bir şekilde belirlenirse, tüm birim testlerimi kısmi bir yeniden oluşturma ile çalıştırabilirim. Hatta şu anda tüm testlerimi derledikten sonra çalıştırmak için ayarladım bile. Şu anda kullandığım CI Jenkins, test sonuçları ve kapsama verileri de çalıştırıyor ve sağlıyor.

TestFoo test fikstürü altında Foo için tüm birim testlerini adlandırdıysanız, bir dosyanın Foo.cpp dosyası için birim testlerini çalıştırması için IDE'nize özel bir başlatıcı eklemek mümkün olabilir. Visual-C ++ için tam olarak nasıl ayarlanır Emin değilim ama bunun mümkün olduğunu düşünüyorum.


Faydalı bilgi, "ortak tavsiye" olarak adlandırılacak kadar ileri gitmeme rağmen :-) ... ayrıca eski şeylerimiz için gerçekten uygun değil, ama sonra eski şeylere testler eklemek zaten bir acı ( ve en azından test donanımını eklemeyi kolaylaştırmak isterdim).
Martin Ba

2

Yerel C ++ kodunu test etmek için MSTest kullanıyorum.
İşte bu yolla ilgili harika blog yazısı: http://blogs.msdn.com/b/jsocha/archive/2010/11/19/writing-unit-tests-in-visual-studio-for-native-c. aspx

Evet, biri uygulama için diğeri testler için olmak üzere en az iki proje olacak.
Statik kütüphaneyle üçüncü proje yapmak yerine, sadece projeyi test etmek için uygulamanın kaynağını ekliyorum, böylece çözüm şöyle görünüyor:

[-] Solution 'Foo'      Foo\Foo.sln
 |-[-] Foo              Foo\Foo\Foo.vcproj
 |  |-[-] include
 |  |  |- foo.h         Foo\Foo\foo.h
 |  |  |- bar.h         Foo\Foo\bar.h
 |  |
 |  |-[-] source
 |     |- foo.cpp       Foo\Foo\foo.cpp
 |
 |-[-] Foo.Tests        Foo\Foo.Tests\Foo.Tests.vcproj
    |                        (Additional include directory: "..\Foo")
    |-[-] include
    |  |- FakeBar.h     Foo\Foo.Tests\FakeBar.h
    |
    |-[-] source
       |-[-] app
       |  |- foo.cpp    Foo\Foo\foo.cpp    -- not in Foo.Tests\
       |
       |-[-] unit-tests
          |- foo_Tests.cpp   Foo\Foo.Tests\foo_Tests.cpp
          |- bar_Tests.cpp   Foo\Foo.Tests\bar_Tests.cpp

Birim testi için C ++ / CLI şeyler kullanmanın saf doğal C ++ kodunu test ederken sadece suları çamurladığını görüyorum. Ancak C ++ / CLI uygulama kodunu test etmek için NUnit kullandım. Testlerimi C # 'da yazdım ve bu iyi çalıştı. (Varolan kod tabanı C ++ / CLI idi ve ben C # taşımak istemiyordu.)
yasal

Ayrıca, testleriniz C ++ / CLI içindeyse, bunları diğer platformlarda çalıştıramazsınız. C ++ kullandığım çoğu yerde platformlar arası derleme kabiliyetine ihtiyaçları vardı. Elbette VS projesini diğer platformlarda tekrar kullanamazsınız, ancak bunun için Makefiles veya SConscripts olması çok önemli değil.
yasallaştırmak

@legalize WinAPI'yi (ve COM ve Windows'a özgü diğer teknolojileri) Windows olmayan platformlarda da yeniden kullanamayız.
Abyx

Evet, tabii ki Windows'a özgü olmayan platformlarda Windows'a özgü teknolojileri kullanamazsınız. Benim gözlemim, platform agnostik kodunuz varsa, birim testlerinizi belirli bir platforma bağlamak istememenizdi. Önceki bir işverente, çok sayıda birim test çerçevesi ve yönteminin ortalamasını aldık. Boost.Test'i seçtik çünkü çapraz platformdu ve C ++ standart kütüphanesinde ünite testi ile ilgili bir şey olsaydı, büyük olasılıkla Boost.Test olurdu.
yasallaştır

2

Gün içinde biraz geç olabilir, ancak sorunuzu doğru okursam TDD döngüsünü iyileştirmek için teknikler mi arıyorsunuz? Burada bahsedilmiyor, ancak VS'deki yapım sonrası etkinliklere baktınız mı?

Çözümlerimiz tipik olarak organize edilir (Proje Bağımlılıkları gösterilerek) ...

MAIN-APP > LIB1, LIB2, UNIT-TEST-APP
UNIT-TEST-LIB1 > LIB1
UNIT-TEST-LIB2 > LIB2
UNIT-TEST-APP > UNIT-TEST-LIB1, UNIT-TEST-LIB2

MAIN-APP'nin derleme sonrası etkinliği UNIT-TEST-APP'i çalıştıracak

UNIT-TEST-APP'nin derleme sonrası olayı kendi kendine çalışır (derleme sonrası etkinliğinde çalıştırılacak komut olarak '$ (TargetPath)' koymanız yeterlidir).

(Bu, MAIN-APP oluştururken birim testlerinin iki kez yapılabileceği anlamına gelir, ancak bu bizim durumumuzda gerçekten bir sorun değildi!)

Yine de belirtildiği gibi, evet, bu yapıyı kurmak için biraz çaba var, ancak bir kez orada olduğunda, test eklemek basittir.

Tek yapmanız gereken ana uygulamayı oluşturmak ve birim testleri otomatik olarak çalışacak!


1

Bunun yardımcı olup olmadığını bilmiyorum, ancak Brett L. Schuchert'ten TDD hakkında bazı harika videolar var. Ne yazık ki, "C ++" ve "VS" kombinasyonunu göstermiyor, ancak

C # ve VS ile TDD: http://vimeo.com/album/210446

C ++ ve Eclipse ile TDD: http://vimeo.com/13240481

Belki de bu ikisinden çalışabilirsiniz.

EDIT: C ++ video elbette Eclipse ile CppUTest test framwork kullanmakla ilgilidir. Ben yayınladığında VS kullanmak için kolayca benimsenmesi gerektiğini düşündüm. Bu yüzden biraz googled ve buldum:

http://schuchert.wikispaces.com/tdd.cpp.NotesOnCppUTest

Visual Studio'da CppUTest kullanımı hakkında bilgi verir.


2
Doc - TDD / Eclipse videosuna (sadece) baktım ama bunu aşağıya indireceğim. Video tam olarak ne ettiğimi gösteriyor değil Birim Test kod yazmak yani nasıl ilgilenen. Sorun (bu sorunun) Birim Testleri yazmıyor, bunları C ++ üretim gelişiminizle nasıl düzgün bir şekilde entegre edersiniz ve bu videoların burada nasıl yardımcı olduğunu görmüyorum.
Martin Ba

Bu soruyu bu soru bağlamında reddederken, videoların oldukça güzel olduğunu eklemek isterim. Eclipse / TDD / C ++ izlemek ilginç buldum. Burada işe yaramıyor :-)
Martin Ba

@ Martin: düzenlememi görün.
Doc Brown

Çabalarınız takdir ediliyor ve bu ek bağlantının bu soru bağlamında gerçekten yararlı olduğunu düşünmese de, kendim biraz düzenleme yapmam gerekeceğini düşünüyorum.
Martin Ba

@Martin: tamam, sorunuzu ve "katlanılabilir" tanımınızı tekrar okudum, ama biraz fazla beklemiyor musunuz? Birim sınama projesi oluşturmak "tek tık" çözümü değildir, ancak gerçek birim sınamalarını yazma çabası, hangi çerçeveyi kullanırsanız kullanın, büyüklük sırasına göre daha ağır basar.
Doc Brown

1

Googletest
vc ++ ile nasıl entegre edilir

Bir eklentiye ihtiyacınız yok, test sadece başka bir hedef. C ++ ile test oluşturmak için eklentiler yoktur, eğer yapabilirseniz atamalar gibi anlamsız şeyleri test ederdiniz


"Yapabilsen bile ödevler gibi anlamsız şeyleri test ederdi" - bunun anlamı ne? Gerçekten C ++ Birim Testleri için daha iyi IDE desteğinin değersiz olduğunu düşünüyor musunuz ??
Martin Ba

C ++ gibi bir dilde sistem, açık ifadelerden başka hiçbir şey için otomatik olarak test oluşturamaz
Martin Beckett

2
Neden olmasın? Ne eklenti otomatik vcprojolarak anında bir dosya oluşturmak için , o test dosya dosyasını ve başvurulan üretim dosyası çekerek ve çalıştırmak için çalışırken çekerek? (Sadece hayal, ama olabilir çalışmaları yapılacaktır.)
Martin Ba

2
Takip edebileceğimden emin değilim. Açıkçası Testleri kendim yazmak zorundayım. Ancak bunları çalıştırmak, ayrı test projesi dosyalarını manuel olarak ayarlamak (ve korumak!) İçin çok daha kolay olabilir.
Martin Ba

2
Hayır, test koduna değinmedim, daha çok test kodunu almak için gerekli proje / derleyici iskele artı "bu" üretim kodunu çalıştırmak için gerekli.
Martin Ba

1

Yaklaşık 20 yıl içinde dokunmadım (.NET dev bugünlerde) C ++ araçları hakkında yorum yapamam ve bu günlerde araçların çoğu yönetilen kod için ama teknikler için sanırım ...

Diğerlerinin de belirttiği gibi, test kodu her zaman üretim kodundan tamamen farklı bir projede / montajdadır ve evet genellikle bu projeyi kendiniz sürdürmeniz gerekir, ancak VS IDE'de bu genellikle büyük bir sorun değildir, çünkü çözümünüzün bir parçası.

Üretim kodu TDD için biraz farklıdır ve yazılmalıdır. Testleri yazarken kodunuzu test edilebilir olarak tasarlamanız gerekir. Bu kendi içinde başka bir konudur, ancak zaman alabilir ve özellikle IDE / araçlarınız size hızlı geri bildirim vermezse, ilk başta çok sinir bozucu görünebilir, testleri çalıştırmak için komut satırı araçlarını çalıştırmak için bombardıman sadece yıkıcıdır.

Kodu test edilebilir hale getirmek için birçok özel teknik vardır, ancak çoğu, çok fazla şey yapmayan küçük nesneleri yapmak için ayrılır, böylece onları tek tek test edebilir ve daha karmaşık olanlara bazı davranışların test sürümünü enjekte edebilirsiniz. itiraz ediyor. IOC çerçeveleri burada çok yardımcı olabilir.

Yararlı bulabileceğiniz bir kitap; Michael Feathers, Eski Kod ile Etkili Çalışmak. Bu, örneklerinde birden fazla dil kullanır ve başlangıçta test edilebilir olacak şekilde tasarlanmamış kodu / teknikleri güvenli bir şekilde uyarlamak için belirli yaklaşımları tanımlamanıza yardımcı olabilir.

Küçük uyarı: Yıllar önce Agile Kool-Aid'den sarhoş oldum: D


Not: Working Effectively with Legacy CodeMasamın üzerinde zaten var :-)
Martin Ba

0

Maven C ++ 'da yaygın olarak kullanılmaz (yine de çoğunlukla Java için kullanılır, ancak dil agnostiktir) ancak çok güçlü bir araçtır ve her şeyi tek bir projede tutmanıza izin verir (aslında testler dahil, bu önerilen Maven ile yaklaşım). Sadece şimdi öneriyorum bir VS eklentisi ile bir alternatif olmayabilir gibi görünüyor bu yana şimdiye kadar tavsiye.

Bulduğum eklentileri arama:

http://incubator.apache.org/npanday/

ama henüz çok olgun görünmüyor. Maven kurulumu ile testleri çalıştırmak için tek yapmanız gereken mvn testkomut satırında gerçekleştirilir.

Eğer bu konuda öğrenebilir ilgilenen ediyorsanız burada (birini) eklentileri destekleyen C ++ ve burada (her şeyin bir eklenti yani Maven bir eklenti mimarisi vardır).


0

Çerçeve önerisi: Ofisimizde, Visual Studio ile entegre olan TestDriven.NET kullanıyoruz. Unittest sınıfları C ++ / CLI ile yazılır ve daha sonra sınamanız gereken yerel kodu kullanmak için çağrılabilir. Evet, C ++ / CLI sınıfları kendi derlemelerine girer, böylece çözümlere bir "test" projesi eklenir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.