Compare commits

..

1 Commits

Author SHA1 Message Date
AI Agent a3d9e0fb5e AI 自动生成测试用例 2026-07-13 10:38:18 +08:00
2 changed files with 53 additions and 0 deletions

25
tests/CMakeLists.txt Normal file
View File

@ -0,0 +1,25 @@
cmake_minimum_required(VERSION 3.10.0)
project(test_prod_ts)
include(FetchContent)
if (MSVC)
add_compile_options(/utf-8)
endif()
FetchContent_Declare(
googletest
URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip
)
# For Windows: Prevent overriding the parent project's compiler/linker settings
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../include)
include(CTest)
enable_testing()
add_executable(test_prod_ts test_OpenApiConfig.cpp ../src/main/java/com/example/demo/config/OpenApiConfig.java)
target_link_libraries(test_prod_ts gtest gmock gtest_main)
include(GoogleTest)
gtest_discover_tests(test_prod_ts)

View File

@ -0,0 +1,28 @@
#include <gtest/gtest.h>
#include "OpenApiConfig.h"
/**
* @brief customOpenAPI OpenAPI
*/
TEST(OpenApiConfigTest, customOpenAPIReturnsValidOpenAPI) {
OpenApiConfig config;
OpenAPI api = config.customOpenAPI();
// 验证返回的 OpenAPI 对象不为空(通过 info 成员非空间接验证)
Info info = api.getInfo();
EXPECT_FALSE(info.getTitle().empty());
EXPECT_EQ(info.getTitle(), "信息管理系统 (IMS) API 文档");
EXPECT_EQ(info.getVersion(), "1.0.0");
EXPECT_EQ(info.getDescription(), "信息管理系统后端接口文档,支持用户权限管理、业务数据管理、统计分析、日志审计和系统对接等功能。");
// 验证联系人信息
Contact contact = info.getContact();
EXPECT_EQ(contact.getName(), "IMS 开发团队");
EXPECT_EQ(contact.getEmail(), "dev@ims-demo.com");
EXPECT_EQ(contact.getUrl(), "https://github.com/ims-demo");
// 验证许可证信息
License license = info.getLicense();
EXPECT_EQ(license.getName(), "Apache 2.0");
EXPECT_EQ(license.getUrl(), "https://www.apache.org/licenses/LICENSE-2.0");
}