Ho un set di digitato nei test di prova in google test. Tuttavia, alcuni di questi casi di test semplicemente non sono applicabili per un parametro di tipo specifico. Considera questo esempio:Come segnalare che un test vuole saltare se stesso
TYPED_TEST_P(TheTest, ATest){
if(TypeParam::isUnsuitedForThisTest()){
return;
}
// ... real test code goes here
}
Questo funziona bene, il test viene semplicemente saltato. Tuttavia, quando l'esecuzione delle prove, vedo un normale
[ RUN ] XYZ/TheTest/0.ATest
[ OK ] XYZ/TheTest/0.ATest (0 ms)
quindi non è evidente che il test è stato saltato, sembra che semplicemente riuscito. Voglio in qualche modo mostrare che il test case è stato saltato. C'è un qualche tipo di metodo in google test per segnalare che un test case è stato saltato. Qualcosa di simile (questo non esiste):
TYPED_TEST_P(TheTest, ATest){
if(TypeParam::isUnsuitedForThisTest()){
SIGNAL_SKIPPED(); // This is what I would like to have
return;
}
// ... real test code goes here
}
Poi, l'uscita cambierebbe a qualcosa di simile:
[ RUN ] XYZ/TheTest/0.ATest
[ SKIPPED ] XYZ/TheTest/0.ATest (0 ms)
C'è una caratteristica in GTEST che consente a un tale comportamento?
In base al nome dei test, è possibile utilizzare [filtri] (https://code.google.com/p/googletest/wiki/V1_6_AdvancedGuide#Running_a_Subset_of_the_Tests) per eseguire solo un sottoinsieme dei test. –
@JustinWood: lo so. Ma questa è una cosa totalmente diversa. – gexicide
che ne dici di sottoporre test con requisiti/applicabilità diversi in un banco di prova diverso? –