3 つのメソッドがあるとします。すべて非常に似ていますが、入力の種類が異なります。
void printLargestNumber(int a, int b) { ... }
void printLargestNumber(double a, double b) { ... }
void printLargestNumber(String numberAsString, String numberAsString) { ... }
3 つすべてが同じ基本ロジックを使用します。たとえば、double
数値を比較するのはバージョンだけで、他の 2 つは入力を に変換するだけかもしれませんdouble
。
いくつかの異なる単体テストを想像することができます: 最初の入力が大きい、2 番目の入力が大きい、両方の入力が負である、など。
私の質問
3 つのメソッドすべてに完全なテスト セットが必要です (コアの実装が同じであるとは想定していないため、ブラック ボックスです)。
また
パラメータ変換を検証するために、バージョンのみdouble
を厳しくテストし、他の 2 つを軽くテストする必要がありますか (同じ実装を共有し、テストで既にテストされていることがわかっているため、ホワイト ボックス テストをdouble
行います)。