2010-09-21 7 views
26

Sto programmando alcuni test unitari con il framework di test di Google. Ma voglio verificare se alcuni affermazioni sono ben posizionati e sono utili. C'è un modo per ottenere un assert nel test di Google?Come ottenere un assert con il test di Google?

codice di esempio in prova:

int factorial(int n){ 
    assert(n >= 0); 
    //.... 
} 

E poi il test:

#include <gtest/gtest.h> 
TEST(FactorialTest,assertNegative){ 
    EXPECT_ANY_THROW({ 
     factorial(-1); 
    }); 
} 

Ma EXPECT_ANY_THROW non cattura l'asserzione ma solo eccezioni. Sto cercando una soluzione per ottenere affermazioni.

risposta

22

Google test fornisce ASSERT_DEATH, EXPECT_DEATH and other related macros.

Questa domanda e What are Google Test, Death Tests sono le rispettive risposte. Questo li rende duplicati o no? ;-)

+0

Grazie. È tutto ciò di cui ho bisogno. Come posso chiudere la domanda, allora? – Killrazor

+2

@Killrazor: Se pensi che sia un errore, quindi per chiudere una domanda ottieni 5 persone, ognuna con un rappresentante sufficiente per avere quell'autorizzazione, per votare per chiuderla. Ma non me ne preoccuperei - questa domanda scomparirà rapidamente dalle liste delle domande "recenti", "attive" e "calde" se non lo ha già fatto, quindi non è in alcun modo. Potrebbe essere utile che usi termini diversi e quindi si presenti in diverse ricerche su Google. –

+0

Le risposte duplicate non necessarie costituiscono domande doppie. Tuttavia, la tua risposta è essenzialmente solo un link --- che è scoraggiato. –

Problemi correlati