25、C++ 测试框架与代码设计实践

C++ 测试框架与代码设计实践

1. 常见 C++ 测试框架示例

Catch2 和 Doctest 都支持现代 C++ 标准,如 C++14、C++17 和 C++20。为了比较这些测试框架,我们将使用相同的代码库进行测试。

  • GTest 示例
#include "customer/customer.h"
#include <gtest/gtest.h>
TEST(basic_responses, 
given_name_when_prepare_responses_then_greets_friendly) {
  auto name = "Bob";
  auto code_and_string = responder{}.prepare_response(name);
  ASSERT_EQ(code_and_string.first, 
web::http::status_codes::OK);
  ASSERT_EQ(code_and_string.second, web::json::value("Hello, 
Bob!"));
}

在 GTest 中,大部分测试任务已被抽象,我们主要关注要测试的操作(如 prepare_response )和期望的行为( ASSERT_EQ 语句)。

  • Catch2 示例

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值