Параметризованный тест GoogleTest — можно ли вызывать SetUp и TearDown между параметрами?

У меня есть параметризованный класс gtest, который я хотел бы вызвать между SetUp и TearDown между каждым параметром. Я знаю, что googletest предлагает SetUp перед каждым тестом и SetUpTestCase перед ВСЕМИ тестами.

У меня есть что-то вроде этого:

class MyParameterizedTest: public TestWithParam<MyParams>
{
public:
MyParameterizedTest() {}

void SetUp()
{
//called before every test case
}

void TearDown()
{
//called after every test case
}

static void SetUpTestCase()
{
//called at the begining of framework and before all test cases
}

static void TearDownTestCase()
{
//called at the end of the framework and after all test cases
}

//Wishing for something like:
// void SetUpParameter()
{
//called before start of parameter
}
};

INSTANTIATE_TEST_CASE_P(RegistrationTest, InterfaceTest, ValuesIn(AllTheValues::GetAllMyParams()));

Какие-нибудь мысли о том, как это работает? Может быть, способ узнать, когда последний тестовый пример был запущен для определенного параметра? Или мне придется создавать тестовый пример для каждого отдельного параметра?

0

Решение

Я думаю, что создание таких комбинаций против хорошей практики, потому что:

Возможное решение:
— создавать отдельные тестовые случаи. Оно работает. Идти против рамок — это почти всегда плохой маршрут. Что, если структура изменится? Возможно, вам придется выровнять все ваши тесты … что на самом деле неправильно в рабочем коде.

0

Другие решения


По вопросам рекламы [email protected]