3
我有一个必须测试的解析器。这个解析器有很多测试输入文件。解析器的预期行为通过比较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");
}
这是很容易看到代码的重复。所以我觉得有一种方法可以使这些测试自动化。
在此先感谢。