我有一个单元测试,用于测试一个函数是否能在一系列输入中正常工作:
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。不幸的是,一旦设置了标志,我就无法清除它,并且还会记录以下所有索引。有什么想法吗?
您可能应该使用参数化测试:
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 ));