Tests That Document Your Application

Make business rules explicit, not buried in code. 
One method, multiple scenarios.

Before — repetitive test methods

@Test
void notDivisibleBy4() {
    assertFalse(Year.isLeap(2001));
}

@Test
void divisibleBy4() {
    assertTrue(Year.isLeap(2004));
}

@Test
void divisibleBy100ButNotBy400() {
    assertFalse(Year.isLeap(2100));
}

@Test
void divisibleBy400() {
    assertTrue(Year.isLeap(2000));
}

After — one method, one table

@TableTest("""
    Scenario                        | Year | Leap?
    Not divisible by 4              | 2001 | false
    Divisible by 4                  | 2004 | true
    Divisible by 100 but not by 400 | 2100 | false
    Divisible by 400                | 2000 | true
    """)
void leapYear(int year, boolean leap) {
    assertEquals(leap, Year.isLeap(year));
}

Same coverage. Less code. Add test cases by adding rows.