给我写一个c++单元测试框架

动态 未结 0 99
小小草
小小草 LV1 2023年9月23日 23:40 发表
以下是一个基于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` 函数来运行
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复