У меня есть Parser, который должен быть проверен. В этом Парсере есть много тестовых входных файлов. Ожидаемое поведение Parser проверяется путем сравнения вывода Parser с соответствующими прегенерированными файлами.
В настоящее время я обрабатываю файл YAML в тесте для получения входных файлов, ожидаемых файлов и их описания (в случае отказа это описание будет напечатано).
Существуют также параметры анализатора, которые должны быть проверены на одном и том же входе.
Итак, мне нужно сформировать следующий код в тесте:
TEST(General, GeneralTestCase)
{
test_parameters = yaml_conf.get_parameters("General", "GeneralTestCase");
g_parser.parse(test_parameters);
ASSERT_TRUE(g_env.parsed_as_expected()) << g_env.get_description("General", "GeneralTestCase");
}
TEST(Special, SpecialTestCase1)
{
test_parameters = yaml_conf.get_parameters("Special", "SpecialTestCase1");
g_parser.parse(test_parameters);
ASSERT_TRUE(g_env.parsed_as_expected()) << g_env.get_description("Special", "SpecialTestCase1");
}
TEST(Special, SpecialTestCase2)
{
test_parameters = yaml_conf.get_parameters("Special", "SpecialTestCase2");
g_parser.parse(test_parameters);
ASSERT_TRUE(g_env.parsed_as_expected()) << g_env.get_description("Special", "SpecialTestCase2");
}
Легко видеть повторение кода. Поэтому я считаю, что есть способ автоматизировать эти тесты.
Заранее спасибо.