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 示例
超级会员免费看
订阅专栏 解锁全文
11万+

被折叠的 条评论
为什么被折叠?



