测试标准与风格指南
本文档描述了针对极狐GitLab 项目自动化测试的多种指南和最佳实践。
本文档旨在作为 thoughtbot 测试风格指南 的扩展。如果本指南定义的规则与 thoughtbot 指南相矛盾,则以此指南为准。为了强调其重要性,一些指南可能会逐字重复。
概览
极狐GitLab 构建于 Ruby on Rails 之上,我们使用 RSpec 执行所有后端测试,并使用 Capybara 进行端到端集成测试。在前端方面,我们使用 Jest 进行 JavaScript 单元和集成测试。
以下是两篇值得每个人都阅读的杰出文章,可以帮助理解自动化测试的含义及其原则:
测试级别
了解不同的 测试级别,以及如何确定应在哪个级别测试你的变更。
测试最佳实践
关于 如何编写好的测试 你应该知道的一切:测试设计、RSpec、FactoryBot、系统测试、参数化测试等。
测试策略
测试策略文档 定义了极狐GitLab 自动化测试的蓝图——在整个开发生命周期中,测试在哪里运行、何时执行以及阻止什么。
前端测试标准与风格指南
关于 如何编写好的前端测试 你应该知道的一切:Jest、测试承诺、存根等。
不稳定的测试
什么是 不稳定的测试,我们遇到的不同类型的不稳定测试,以及我们如何处理它们。
隔离测试
隔离测试 的技术参考:RSpec 和 Jest 语法、元数据类型和命令。
极狐GitLab 流水线
极狐GitLab 测试套件 如何在 CI 上下文中运行:设置、缓存、产物、并行化、监控。
测试 Rake 任务
关于 如何测试 Rake 任务 你应该知道的一切。
端到端测试
关于如何使用 极狐GitLab QA 测试框架 运行端到端测试 你应该知道的一切。
迁移测试
关于 如何测试迁移 你应该知道的一切。
MSW 集成测试
MSW 集成测试 可以用快速、基于 MSW 的 Jest 测试来取代 Capybara 功能规范,验证全页面的前端交互。
契约测试
契约测试简介、如何运行测试以及如何编写测试。
测试结果跟踪
我们如何跟踪 测试套件运行结果。
测试 AI 功能
在 测试 AI 驱动的功能 时需要牢记的实践。
在组织中编写测试
使用 组织 编写测试的指南。