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.rbspec/lib/gitlab/ci/yaml_processor/test_cases/。请将新的测试用例添加到 test_cases/ 目录。

流水线创建

流水线创建的集成测试位于 spec/services/ci/create_pipeline_service_spec.rbspec/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。这些测试验证了流水线可视化、作业执行、调度和状态报告组件的正确渲染、交互和状态管理。