mit einem Klick
build-and-test
构建和测试C++ OAuth2后端,包含正确的依赖管理
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Menü
构建和测试C++ OAuth2后端,包含正确的依赖管理
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Basierend auf der SOC-Berufsklassifikation
通过微信机器人发送通知消息(文本、图片、文件、视频)
重新生成 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参数获取详细测试输出