极狐 GitLab

测试标准与风格指南

本文档描述了针对极狐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 驱动的功能 时需要牢记的实践。

在组织中编写测试#

使用 组织 编写测试的指南。

返回开发文档