2011-07-13 19 views
5

C++ projesinde google testini kullanıyorum. Bazı işlevler geçersiz giriş parametrelerini kontrol etmek için assert() kullanır. Ölüm Testlerini (What are Google Test, Death Tests) okudum ve bunları test durumlarında kullanmaya başladım.Google test kullanarak assert() tarafından neden olunan çalışma zamanı hataları nasıl bastırılır?

Ancak, başarısız olan iddiaların neden olduğu çalışma zamanı hatalarını bastırmanın bir yolu olup olmadığını merak ediyorum. Şu anda başarısız olan her iddia, testleri çalıştırdığım her an kapatmak zorunda olduğum bir pop-up penceresi yaratıyor. Projem büyüdükçe, bu davranış iş akışını kabul edilemez bir şekilde giderek daha fazla rahatsız ediyor ve ben de() - iddiaları artık test etmeme eğilimindeyim. Genel olarak iddiaları devre dışı bırakma olasılıkları olduğunu biliyorum, ancak işletim sistemi tarafından oluşturulan işletim sistemi uyarılarını bastırmak daha uygun görünüyor.

cevap

2

Tamam, çözümü kendim buldum: Test stili threadsafe'u seçmeniz gerekiyor. Sadece test koduna şu satırı ekleyin: Bunu ya

::testing::FLAGS_gtest_death_test_style = "threadsafe"; 

tüm testler için test ikili veya etkilenen testler sadece. İkincisi daha hızlıdır. Bunu güncellenmiş SSS'den aldım: Googletest AdvancedGuide

İlgili konular