with one click
build-and-test
构建和测试C++ OAuth2后端,包含正确的依赖管理
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
构建和测试C++ OAuth2后端,包含正确的依赖管理
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
通过微信机器人发送通知消息(文本、图片、文件、视频)
重新生成 Drogon ORM 模型类(基于当前数据库表结构)
重置测试数据库(清空并重新初始化所有表结构和数据)
执行OAuth2系统的完整端到端(E2E)测试,验证用户登录、授权码流程、token交换、RBAC权限控制和受保护API访问的完整功能。当用户需要在代码变更后验证整个OAuth2认证流程、测试用户登录和权限管理、验证修复后的安全功能、或在生产部署前进行完整的功能验证时使用此技能。
在Docker Compose环境中执行OAuth2系统的完整集成测试和健康检查。当用户需要在代码变更后验证功能、运行端到端测试、检查Docker环境健康状态、或需要验证整个OAuth2系统(前端+后端+数据库+缓存)的集成时使用此技能。确保在Docker环境中测试所有组件的集成,包括健康检查、OAuth2流程、API端点、数据库连接、Redis缓存和前后端通信。
管理 OAuth2 项目的 Docker 容器和服务,包括启动、停止、清理和状态检查
| name | build-and-test |
| description | 构建和测试C++ OAuth2后端,包含正确的依赖管理 |
| disable-model-invocation | true |
这个技能帮助您构建、测试和运行OAuth2服务器,完全模拟build.bat和CI工作流的流程。
通过用户调用:/build-and-test [debug|release]
# Windows PowerShell - 使用统一接口
.\manage.ps1 build-backend # 默认 Release 构建
.\manage.ps1 build-backend -debug # Debug 构建
.\manage.ps1 test-backend # 运行测试
# 如果 manage.ps1 不可用,降级到直接脚本调用
Linux/macOS:
# 使用脚本直接调用 (Linux/macOS)
scripts/backend/build.sh Release
scripts/backend/build.sh Debug
cd build/OAuth2Server && ctest --output-on-failure
# 检查并停止正在运行的 OAuth2Server 进程(Windows)
taskkill /F /IM OAuth2Server.exe 2>/dev/null || echo "No running process"
# 或在 Linux/Mac 上
pkill -9 OAuth2Server 2>/dev/null || echo "No running process"
# 验证新项目结构
Test-Path "OAuth2Server" # 应该存在
Test-Path "OAuth2Plugin" # 应该存在
Test-Path "scripts/backend" # 应该存在
Test-Path "manage.ps1" # 应该存在
# 删除现有构建目录
rm -rf build
mkdir build
cd build/OAuth2Server
# 检查Conan是否安装
where conan # Windows
which conan # Linux/Mac
# 初始化Conan profile
conan profile detect --force
# 安装依赖(Windows MSVC)
conan install .. -s compiler="msvc" -s compiler.version=194 -s compiler.cppstd=20 -s build_type=Release --output-folder . --build=missing
# 或(Linux GCC)
conan install .. -s compiler="gcc" -s compiler.version=11 -s compiler.cppstd=20 -s build_type=Release --output-folder . --build=missing
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=20 -DCMAKE_TOOLCHAIN_FILE="conan_toolchain.cmake" -DCMAKE_POLICY_DEFAULT_CMP0091=NEW
cmake --build . --parallel --config Release
# 复制配置文件到运行目录
cp ../config.json Release/
cp ../config.json test/Release/
# 如果需要运行完整测试套件
# 检查PostgreSQL和Redis服务
pg_isready -h localhost -U oauth2_user || echo "PostgreSQL not ready"
redis-cli -h localhost ping || echo "Redis not ready"
# 初始化测试数据库(如果需要)
export PGPASSWORD="123456"
for f in ../sql/migrations/V*.sql; do
psql -h localhost -U oauth2_user -d oauth2_db -f "$f"
done
for f in ../sql/seed/*.sql; do
psql -h localhost -U oauth2_user -d oauth2_db -f "$f"
done
# 进入新的构建目录
cd build/OAuth2Server
# 基础测试
ctest --output-on-failure -C Release
# 或详细输出(类似CI)
ctest -V -C Release --output-on-failure --timeout 120
# Windows - 新的构建输出路径
cd build/OAuth2Server/Release
./OAuth2Server.exe
# Linux/macOS
cd build/OAuth2Server
./OAuth2Server
build.bat 脚本OAuth2Server.exebuild.sh 脚本OAuth2Server 可执行文件/build-and-test debug进行快速迭代/build-and-test release运行完整测试-V参数获取详细测试输出