test · git:20260427.cc366ee · 2026-04-27 · sha256 084fd9f6ab7ab0a0

test git:20260427.cc366eeA

Immutable. This exact content never changes and is served at /api/v1/blob/084fd9f6ab7ab0a0.

---
name: test
description: Test code conventions. Do not modify tests when fixing bugs; fix the implementation instead. Avoid implementation branches that depend on specific test data values. Use when writing or modifying test code, or when tests are failing.
user-invocable: false
---

# テスト

## テストコードは変更しない

問題を修正する時にテストコードを変更することは基本的に禁止します。
テストは仕様を表すものであり、実装の正しさを検証するためのものです。

テストが失敗している場合は、実装側を修正してください。
テストコードを実装に合わせるのは禁止。

テストが誤っていると思ったら質問して確認してください。
独自判断でテストを書き換えるのは禁止。

### テストコードを変更しても良い例外

テストコードを変更して良い例外は以下のような場合です。

- テストを追加するタスクを依頼されている。
- テストを修正するタスクを依頼されている。
- テストコードに明らかな構文エラーがある。

## テストデータに依存した条件分岐は避ける

実装コードがテストで使用されている具体的なデータ値を特別扱いすることは基本的に禁止。
具体的なデータ値とは、例えば変数名やテーブル名などです。

データに依存した実装は以下のような問題を引き起こします。

- 脆弱なテスト: テストデータが変更されると実装が機能しなくなる。
- 隠れた仕様: 特定のデータ名に対する特別な処理が明示的な仕様ではなく暗黙的になる。
- 汎用性の欠如: 実際の運用環境では機能しない可能性がある。