int addNumbers(int a, int b)
{
return a + b;
}
int subtractNumbers(int a, int b)
{
return a - b;
}
//first test
TEST(testMath, addTest1)
{
EXPECT_EQ(37, addNumbers(14, 23));
getchar();
}
//second test
TEST(testMath, subtractTest1)
{
EXPECT_EQ(25, subtractNumbers(37, 12));
getchar();
}
//third test
TEST(testMath, addTest2)
{
EXPECT_EQ(62, addNumbers(37, 25));
getchar();
}
但是,我需要以不同的方式进行单元测试。
我需要获得第一个测试的返回值(结果),并在第二个测试中作为动态测试使用(如果第一个测试失败,那么程序应该终止,并显示错误详细信息)。当第一个测试和第二个测试正常(未失败)时,第一个和第二个测试的返回值应参数化为第三个测试。
所需算法(作为您的帮助):
步骤1:运行第一个测试
addNumbers(14, 23)
;
步骤2:检查预期值和返回值(A);
步骤3.2:如果正常(未失败),则运行第二个测试
subtractNumbers(A, 12)
步骤4:检查预期值和返回值(B);
步骤5.1:如果测试失败,终止显示OK详细信息和错误详细信息的程序;
步骤5.2:如果正常(未失败),则运行第三个测试
addNumbers(A,B)
;