için yapıcı argümanlarını belirtin Google testi ile Farklı test durumlarında kullanmak için bir Test fikstürü belirtmek istiyorum. Donanım, veri yönetimi sınıfının bir veri dosyasının adını gerektirdiği TheClass
ve veri yönetimi sınıfı TheClassData
sınıfındaki nesneleri tahsis edecek ve tahsis edecektir.
Farklı testler için dosya adı değişmelidir.Bir Google test Fikstür
class TheClassTest : public ::testing::Test {
protected:
TheClassTest(std::string filename) : datafile(filename) {}
virtual ~TheClassTest() {}
virtual void SetUp() {
data = new TheClassData(datafile);
tc = new TheClass(data);
}
virtual void TearDown() {
delete tc;
delete data;
}
std::string datafile;
TheClassData* data;
TheClass* tc;
};
Şimdi, farklı testler farklı dosya adları ile fikstür kullanmalıdır:
aşağıdaki Armatür tanımladı. Bunu bir test ortamı oluştururken düşünün.Soru: Bir testten dosya adını nasıl belirleyebilirim, yani bir fikstürün varsayılan olmayan yapıcısını nasıl çağırırım?
::testing::TestWithParam<T>
ve TEST_P
gibi bir şey buldum, çünkü farklı değerlerle bir sınama çalıştırmak istemediğimden, ancak bir armatürle farklı sınamalar yapmak istemiyorum.
Bu fikstürü kendiniz mi yürütmek istiyorsunuz? Google test varsayılan test koşucusu, fikstürleri parametrelerle başlatamaz. –
Fikstürü kullanarak bir test (muhtemelen "TEST_F") çalıştırmak istiyorum. Yani cevap, bu mümkün değil mi? Teşekkürler. – Gregor
Bence TestWithParam 've' TEST_P' tam olarak ihtiyacınız olan şeydir. Uygulamada bunları nasıl kullanacağınızı [Gelişmiş Belgeler] (https://github.com/google/googletest/blob/master/googletest/docs/AdvancedGuide.md) adresine bakın. Test örneğini daima test altında (yani "TheClass" olduğunu) sanıyorum. –