2012-10-05 27 views
6

Google test çerçevesini kullanmakta ve hala tam anlamıyla kullanmak için çok fazla malzeme kullanıyorum.Google test çerçevesi - Test durumları arasındaki bağımlılık

Koşullu olarak çalıştırılabilmesi için test durumları arasında bir ilişki belirtebileceğimi/belirtebildiğim herhangi bir yol var mı? Gibi iki test var diyelim; İkinci testi sadece ilk başarılı olursa yapabilir miyim? 'Ünite' testinin asıl kuralının altına düştüğünden emin değilim, ancak bunun mümkün olup olmadığını merak ediyordum.

+1

sadece "conditionaltestcases" etiketi oluşturmak mı? Soru oldukça ilginçtir çünkü test çerçevelerinin tasarımına girer, ama siz de ilham aldığınızda, böyle bir şey gerçekten en iyi uygulamaları test etmeyi ihlal ediyor. Testlerin bağımsız olması gerekiyor. Yine de bu tek soru için bu etikete ihtiyacımız olduğundan emin değilim. –

+0

Evet, bunun aslında kendimce belirttiğim gibi 'birim' testi olmadığını düşündüm; ama dediğim gibi sadece merak ediyordum. Etiketi kaldırdım; bilmiyordu eğer orada değilse bir tane yaratıyor; sadece daha spesifik olmaya çalışıyordu – vpram86

+0

Bu iyi, hala iyi bir soru. Cevabı bilmiyorum ama umarım başka biri de olur. Bir daha önce başarısız olursa bir denemeyi denemek için, muhtemelen aynı test vakasında birden fazla sorguda, yapmaya çalıştığınız şeyleri simüle edebilirsiniz. Sorunun kesin bir cevabı olmadığını biliyorum, bu da test durumu seviyesindeydi, ama yakın olabilir. Aynı zamanda iyi bir uygulama değildir, fakat teorik ilgidir. –

cevap

1

Kaynağında bunu yapmanın bir yolu yoktur. Olası çözüm, kabuk komut dosyalarını kullanır ve süzgeç kullanarak testleri gerçekleştirir.

Python örnek:

from subprocess import call 

def runTest(pattern): 
    return call(['test', '--gtest_filter=%s' % pattern]) 

if runTest('FirstPriorityTestPattern') == 0: 
    return runTest('SecondPriorityTestPattern') 
return 1 
İlgili konular