Как поймать утверждение с помощью теста Google? - PullRequest
34 голосов
/ 21 сентября 2010

Я программирую какой-то модульный тест с помощью инфраструктуры тестирования Google.Но я хочу проверить, являются ли некоторые утверждения правильными и полезными.Есть ли способ отловить утверждение в тесте Google?

Пример тестируемого кода:

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

А затем тест:

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

Но EXPECT_ANY_THROWне улавливает утверждение, а только исключения.Я ищу решение, чтобы поймать утверждения.

1 Ответ

28 голосов
/ 21 сентября 2010

Google test предоставляет ASSERT_DEATH, EXPECT_DEATH и другие связанные макросы .

Этот вопрос и Что такое Google Test, Death Tests являются ответами друг друга,Это делает их дубликатами или нет?; -)

...