コードで処理できる主要なシナリオごとに 1 つのテスト ケースが必要です。「if」ステートメントには、一般に 2 つのケースがありますが、2 つの「境界」である 3 つ目のケースを含めることもできます。ループでは、ループが複数回実行されるケースと、ループがまったく実行されないケースを含めることができます。
あなたの特定の例では、3 つのテスト ケースを作成します。テストクラス。各テスト メソッドは、特定のシナリオでテストしているコードを実行し、結果が正しいことをアサートする必要があります。
最後に、各テスト メソッドを何と呼ぶかを検討する必要があります。テストしているシナリオと予想されることを示す文を使用することを強くお勧めします。テストメソッド名を「test」で始める人もいます。しかし、私の経験では、これにより、テストしようとしている条件から注意がそらされ、テストしている特定のメソッドまたは関数に注意が向けられる傾向があり、その結果、テストの品質が低下する傾向があります。あなたの例では、テストメソッドを次のように呼び出します。
public void canStartDrivingIfAgeOver18()
public void canStartDrivingIfAgeEquals18()
public void numberOfYearsRemainingIsShownIfAgeUnder18()