以下是一个基于Google Test的C++单元测试框架示例:
1. 安装Google Test
首先需要安装Google Test库,可以从官网下载源代码并编译安装,也可以使用包管理器进行安装。
2. 编写测试用例
假设我们要测试一个名为 `Calculator` 的类,该类具有加、减、乘、除四个方法。我们可以编写如下的测试用例:
```
#include
#include "calculator.h"
TEST(CalculatorTest, Add) {
Calculator calc;
EXPECT_EQ(calc.add(2, 3), 5);
EXPECT_EQ(calc.add(-2, 3), 1);
}
TEST(CalculatorTest, Subtract) {
Calculator calc;
EXPECT_EQ(calc.subtract(5, 3), 2);
EXPECT_EQ(calc.subtract(5, -3), 8);
}
TEST(CalculatorTest, Multiply) {
Calculator calc;
EXPECT_EQ(calc.multiply(2, 3), 6);
EXPECT_EQ(calc.multiply(-2, 3), -6);
}
TEST(CalculatorTest, Divide) {
Calculator calc;
EXPECT_EQ(calc.divide(6, 3), 2);
EXPECT_THROW(calc.divide(6, 0), std::runtime_error);
}
```
这里我们使用了 Google Test 提供的 `TEST` 宏来定义测试用例。第一个参数是测试用例的名称,第二个参数是测试用例中的测试点名称。在每个测试点中,我们创建了一个 `Calculator` 对象,并调用相应的方法进行测试。使用 `EXPECT_EQ` 断言两个值是否相等,使用 `EXPECT_THROW` 断言是否抛出了异常。
3. 编写主函数
我们需要编写一个主函数来运行所有测试用例:
```
#include
int main(int argc, char** argv) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
```
在主函数中,我们调用 `testing::InitGoogleTest` 函数来初始化 Google Test 框架,并调用 `RUN_ALL_TESTS` 函数来运行