Вызов несколько раз одного теста - Google Tests

Я пытаюсь провести небольшое случайное тестирование в программном обеспечении, которое разрабатываю.
У меня есть прибор, который инициализируется со случайными значениями, поэтому каждый тест будет иметь разные входные данные.

Более того, я хочу выполнить один из этих тестов несколько раз (я ожидаю, что прибор будет инициализироваться случайным образом для каждого выполнения), возможно ли это в Google Tests? Мне нужно, чтобы это было в коде, а не использовать аргумент или что-то в этом роде.

Я ищу что-то вроде invocationCount в Юнит.

1 ответ

Решение

Как насчет этого, используя неиспользуемый параметр и Range()

class Fixture : public ::testing::TestWithParam<int> {
    //Random initialisation
};

TEST_P(Fix, Test1){}

INSTANTIATE_TEST_CASE_P(Instantiation, Fixture, ::testing::Range(1, 10));

Test1 будет вызван 10 раз, каждый раз будет создаваться новый прибор.

Другие вопросы по тегам