テスト
テストコードの変更は慎重に行う
テストは仕様を表すものであり、実装の正しさを検証するためのものです。 そのためテストコードを変更する時は、 そのテストが何を保証していて、変更後にも同じ保証が維持されるかを意識してください。
実装にバグがあってテストが失敗している場合は、実装側を修正してください。 「実装の出力に合わせて期待値を書き換える」のは、 テストの意味を失わせる典型的な変更で禁止です。
特に以下のような変更は明確に禁止します。
- アサーションを
assert(true)や1 == 1のような恒真式に置き換えてテストを通す - 失敗するテストをskip/ignore/xfailに変更してパスしたことにする
- 期待値を、実装側のバグを含んだ出力に合わせて書き換える
- 一部のケースだけを抜き出して、エッジケースを暗黙に削除する
判断に迷う場合はユーザーに確認してください。 特にテストの期待値を変更する時は、 仕様の理解が合っているかを事前に確認するのが安全です。
テストコードを変更してよい場合
以下のような場合はテストの変更が妥当です
[Description truncada. Veja o README completo no GitHub.]