cpp-mcp/test
hkr04 61264dfb49 a workable server; OK to connect MCP Inspector; possible thread issue 2025-03-12 19:18:27 +08:00
..
googletest@6910c9d916 add tests 2025-03-08 23:44:34 +08:00
CMakeLists.txt update OpenSSL support; fix some bugs 2025-03-09 15:45:09 +08:00
README.md add tests 2025-03-08 23:44:34 +08:00
test_mcp_client.cpp add initialization verification 2025-03-09 23:17:36 +08:00
test_mcp_direct_requests.cpp a workable server; OK to connect MCP Inspector; possible thread issue 2025-03-12 19:18:27 +08:00
test_mcp_message.cpp add initialization verification 2025-03-09 23:17:36 +08:00
test_mcp_resource.cpp update resource 2025-03-10 03:24:54 +08:00
test_mcp_server.cpp add initialization verification 2025-03-09 23:17:36 +08:00
test_mcp_tool.cpp add tests 2025-03-08 23:44:34 +08:00

README.md

MCP 单元测试

本目录包含 Model Context Protocol (MCP) 实现的单元测试,基于规范 2024-11-05。

测试内容

测试文件包括:

  • test_mcp_message.cpp: 测试消息相关功能
  • test_mcp_tool.cpp: 测试工具相关功能
  • test_mcp_resource.cpp: 测试资源相关功能
  • test_mcp_client.cpp: 测试客户端相关功能
  • test_mcp_server.cpp: 测试服务器相关功能

构建和运行测试

构建测试

# 在项目根目录创建构建目录
mkdir -p build && cd build

# 配置项目
cmake ..

# 构建项目和测试
make

运行测试

# 运行所有测试
make run_tests

# 或者直接运行测试可执行文件
./test/mcp_tests

运行特定测试

要运行特定的测试,可以使用 Google Test 的过滤功能:

# 运行所有消息相关测试
./test/mcp_tests --gtest_filter=McpMessageTest.*

# 运行所有工具相关测试
./test/mcp_tests --gtest_filter=McpToolTest.*

# 运行所有资源相关测试
./test/mcp_tests --gtest_filter=McpResourceTest.*

# 运行所有客户端相关测试
./test/mcp_tests --gtest_filter=ClientTest.*

# 运行所有服务器相关测试
./test/mcp_tests --gtest_filter=ServerTest.*

测试依赖

测试使用 Google Test 框架,该框架会在构建时自动下载和配置。

注意事项

  • 部分测试需要网络功能,确保本地端口(如 8090、8095未被占用
  • 客户端和服务器测试会启动实际的服务器和客户端进行交互测试
  • 资源测试会在临时目录创建文件,测试完成后会自动清理