テストの標準とスタイルガイドライン

このドキュメントでは、GitLabプロジェクトの自動テストのための様々なガイドラインとベストプラクティスについて説明します。

thoughtbotのテストスタイルガイドを _拡張した_ものです。このガイドがthoughtbotガイドと矛盾するルールを定義している場合、このガイドが優先されます。いくつかのガイドラインは、その重要性を強調するためにそのまま繰り返されるかもしれません。

概要

GitLab はRuby on Rails の上に構築されており、すべてのバックエンドテストにはRSpec を、エンドツーエンドのインテグレーションテストにはCapybaraを使っています。フロントエンド側では、JavaScriptのユニットテストとインテグレーションテストにJestを使っています。

自動テストの意味とその原則を理解するために、誰もが読むべき素晴らしい記事を2つ紹介します:

テストのレベル

さまざまなテストレベルについて学び、変更をどのレベルでテストすべきかを決定する方法を学びます。

テストのベストプラクティス

良いテストの書き方について知っておくべきことすべて:テスト設計、RSpec、FactoryBot、システムテスト、パラメータ化されたテストなど。

フロントエンドテストの標準とスタイルのガイドライン

優れたフロントエンドテストの書き方について知っておくべきことすべて:Jest、テストの約束、スタブなど

機能テストを始める

機能テストを始める必要がありますか?ここでは、ホワイトボックステストを最大限に活用するための一般的なガイドライン、ヒント、トリックを紹介します。

欠陥のあるテスト

Flaky テストとは何か、私たちが遭遇したさまざまな種類の Flaky テスト、そしてそれらに対する私たちの対処法について説明します。

GitLab パイプライン

GitLabテストスイートがCIコンテキストでどのように実行されるか:セットアップ、キャッシュ、アーティファクト、並列化、モニタリング。

レビューアプリ

GitLab CE/EEでレビューアプリをどのようにセットアップし、どのように使うか。

Rake タスクのテスト

Rake タスクのテスト方法について知っておくべきこと。

エンドツーエンドのテスト

GitLab QAテストフレームワークを使ってエンドツーエンドテストを実行する方法について知っておくべきすべてのこと。

マイグレーションテスト

マイグレーションのテスト方法について知っておくべきことすべて。

契約テスト

契約テストの紹介、テストの実行方法、テストの書き方。

テスト結果の追跡

テストスイートの実行結果をどのように追跡するか。

開発者向けドキュメントに戻る