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");
}
這是很容易看到代碼的重複。所以我覺得有一種方法可以使這些測試自動化。
在此先感謝。