我有一个单元测试,用于测试函数在一系列输入上是否工作良好:
TEST_F( something, something) {
std::vector<int> inputFileNumber = { 0, 1 , 2, 3 };
for(auto i : inputFileNumber ) {
res = testMethodOverFile(i);
EXPECT_NEAR(res, results[i], 0.01);
logIfHasFailure(i);
}
}
我想知道哪些输入失败,所以我可以使用:: testing :: Test :: HasFailure。不幸的是,一旦设置了标志,我将无法清除它,并且以下所有索引也会被记录。 有什么想法吗?
答案 0 :(得分:1)
您可能应该改用参数化测试:
TEST_P( something, something)
{
auto i{GetParam()};
res = testMethodOverFile(i);
EXPECT_NEAR(res, results[i], 0.01);
}
INSTANTIATE_TEST_CASE_P(Default, something, testing::Values(0, 1, 2,3 ));