gihyo.jp/dev/serial/01/savanna-letter/0008
1 Users
0 Comments
8 Highlights
0 Notes
Tags
Top Highlights
たとえばプライベートフィールドやプライベートメソッドは直接扱わないようにする
ソフトウェアを少し変化させるたびに大量のテストを変更しなければならない状況は「脆いテスト」と呼ばれています。
偽陽性とは、プロダクトコードが正しいにもかかわらずテストが失敗してしまう誤検知のような状況であり、開発者が次第にテストの失敗に対して鈍感になっていく原因となります。
テストの実行が不安定で、コードに一切手を触れていないにもかかわらずテストが成功したり失敗したりするのが信頼不能テストで、コードに手を触れるとすぐにテストが失敗してしまうのが脆いテスト
脆いテストの原因はテストコードとテスト対象との高すぎる構造的結合度です。構造的結合度とは、テストコードがテスト対象の構造、たとえば名前空間、クラス、メソッドや関数の名前や型などに依存している度合いです。
ⓐ公開API経由でテストする ⓑ構造単位ではなく振る舞い単位でテストする ⓒ相互作用ではなく事後状態をテストする
クラスやメソッド、関数をテストの数や構造と対応させるのではなく、振る舞いや責務に対してテストを対応付けます。
テストでは外部から観た振る舞い、たとえばテスト対象のメソッドの戻り値や、テスト対象のメソッド実行後の事後状態を検証しましょう。
Glasp is a social web highlighter that people can highlight and organize quotes and thoughts from the web, and access other like-minded people’s learning.