相关的配置与参考可以看相同系列的第一篇。本篇只提供代码。
#include "gtest/gtest.h"
#ifndef _WIN64
#pragma comment(lib,"../lib86/gmock.lib")
#pragma comment(lib,"../lib86/gmock_main.lib")
#pragma comment(lib,"../lib86/gtest.lib")
#pragma comment(lib,"../lib86/gtest_main.lib")
#else
#pragma comment(lib,"../lib64/gmock.lib")
#pragma comment(lib,"../lib64/gmock_main.lib")
#pragma comment(lib,"../lib64/gtest.lib")
#pragma comment(lib,"../lib64/gtest_main.lib")
#endif // !_WIN64
//判断是否为质数
bool IsPrime_3(int n)
{
if (n <= 1) return false;
if (n % 2 == 0) return n == 2;
for (int i = 3; ; i += 2)
{
if (i > n / i) break;
if (n % i == 0) return false;
}
return true;
}
//参数化测试
class IsPrimeParamTest : public::testing::TestWithParam<int>
{
};
TEST_P(IsPrimeParamTest, HandleTrueReturn)
{
int n = GetParam();
EXPECT_TRUE(IsPrime_3(n));
}
INSTANTIATE_TEST_SUITE_P(TrueReturn, IsPrimeParamTest, testing::Values(3, 5, 11, 23, 17));
int test_03(int argc, char **argv) {
try
{
testing::InitGoogleTest(&argc, argv);
RUN_ALL_TESTS();
}
catch (std::exception& e)
{
std::cout << e.what() << std::endl;
}
system("pause");
return 0;
}