Help us learn about your current experience with the documentation. Take the survey.
CI/CD Rails 应用代码的测试指南
本文档详细说明了 CI/CD 应用代码的测试方法。
后端
集成测试
CI/CD 测试规范包含了针对核心 CI/CD 流程的集成测试。
代码检查
代码检查的集成测试位于 spec/lib/gitlab/ci/yaml_processor_spec.rb 和 spec/lib/gitlab/ci/yaml_processor/test_cases/。请将新的测试用例添加到 test_cases/ 目录。
流水线创建
流水线创建的集成测试位于 spec/services/ci/create_pipeline_service_spec.rb 和 spec/services/ci/create_pipeline_service/。将新的测试用例添加到 create_pipeline_service/ 目录。
流水线处理
spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb 运行流水线处理的集成测试。要添加新的集成测试,请将一个 YAML CI/CD 配置文件添加到 spec/services/ci/pipeline_processing/test_cases。它会与 atomic_processing_service_spec.rb 一起自动运行。
前端
测试固件
以下文件包含前端单元测试中使用的 CI/CD 端点的测试固件:
spec/frontend/fixtures/pipelines.rb- 通用流水线测试固件spec/frontend/fixtures/pipeline_create.rb- 流水线创建测试固件spec/frontend/fixtures/pipeline_details.rb- 流水线详情测试固件spec/frontend/fixtures/pipeline_header.rb- 流水线头部测试固件spec/frontend/fixtures/pipeline_schedules.rb- 流水线计划测试固件
这些测试固件为 CI/CD 前端组件的一致性测试提供了模拟的 API 响应。
单元测试
CI/CD 组件的前端单元测试位于 spec/frontend/ci。这些测试验证了流水线可视化、作业执行、调度和状态报告组件的正确渲染、交互和状态管理。