测试标准与风格指南
本文档描述了 GitLab 项目自动化测试的各种指南和最佳实践。
本文档是对 thoughtbot 测试风格指南 的补充。如果本指南中的规则与 thoughtbot 指南相矛盾,则以本指南为准。部分指南可能会原样重复,以强调其重要性。
概述
GitLab 基于 Ruby on Rails 构建,我们使用 RSpec 进行所有后端测试,并使用 Capybara 进行端到端集成测试。 在前端,我们使用 Jest 进行 JavaScript 单元和集成测试。
以下是两篇优秀的文章,每个人都应该阅读,以了解自动化测试的含义及其原则:
- Five Factor Testing: 为什么我们需要测试?
- Principles of Automated Testing: 测试的层次。测试的优先级。测试的成本。
测试层级
了解不同的 测试层级,以及如何决定你的更改应在哪个层级进行测试。
测试最佳实践
关于 如何编写优秀的测试 你需要了解的一切:测试设计、RSpec、FactoryBot、系统测试、参数化测试等。
测试策略
测试策略文档 定义了 GitLab 自动化测试的蓝图——测试在何处运行、何时执行,以及在开发生命周期中会阻塞什么。
前端测试标准与风格指南
关于 如何编写优秀的前端测试 你需要了解的一切:Jest、测试 Promise、桩测试(stubbing)等。
功能测试入门
需要 开始进行功能测试?这里有一些通用指南、技巧和窍门,帮助你充分利用白盒测试。
不稳定的测试
不稳定的测试 是什么,我们遇到的不同类型的不稳定测试,以及我们如何处理它们。
GitLab 流水线
GitLab 测试套件如何在 CI 环境中运行:环境搭建、缓存、产物、并行化、监控。
审阅应用
如何为 GitLab CE/EE 设置 审阅应用 以及如何使用它们。
测试 Rake 任务
关于 如何测试 Rake 任务 你需要了解的一切。
端到端测试
关于如何使用 GitLab QA 测试框架 运行端到端测试 你需要了解的一切。
数据库迁移测试
关于 如何测试数据库迁移 你需要了解的一切。
契约测试
契约测试简介,如何运行测试以及如何编写测试。
测试结果追踪
我们如何追踪 测试套件的运行结果。
AI 功能测试
在 测试 AI 驱动的功能 时需要牢记的最佳实践。