2010-09-21 5 views
26

Estoy programando algunas pruebas de unidad con el marco de prueba de Google. Pero quiero verificar si algunas afirmaciones están bien ubicadas y son útiles. ¿Hay alguna manera de atrapar una afirmación en la prueba de Google?¿Cómo atrapar una afirmación con la prueba de Google?

código de ejemplo que se está probando:

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

Y entonces la prueba:

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

Pero EXPECT_ANY_THROW no coge la aserción, pero únicas excepciones. Estoy buscando una solución para atrapar aseveraciones.

Respuesta

22

Google test proporciona ASSERT_DEATH, EXPECT_DEATH and other related macros.

Esta pregunta y What are Google Test, Death Tests son respuestas de los demás. ¿Eso los hace duplicados, o no? ;-)

+0

Gracias. Es todo lo que necesito. ¿Cómo cierro la pregunta, entonces? – Killrazor

+2

@Killrazor: si crees que es una estafa, entonces para cerrar una pregunta obtienes 5 personas, cada una con suficiente representante para tener ese permiso, para votar para cerrarla. Pero no me preocuparía, esta pregunta desaparecerá rápidamente de las listas de preguntas "recientes", "activas" y "calientes" si aún no lo ha hecho, por lo que no está en el camino de nadie. Puede ser útil que use diferentes términos y, por lo tanto, aparezca en diferentes búsquedas de Google. –

+0

Las respuestas duplicadas no son necesariamente preguntas duplicadas. Sin embargo, su respuesta es esencialmente solo un enlace --- que se desaconseja. –

Cuestiones relacionadas