开始使用免费开始使用

CsvSource:数字

您已经回顾了第 1 章中的 lastDigit(),这次使用 Math.abs() 处理了负数情况。既然您已经知道可以用 @ParameterizedTest 精简测试,您尝试在一次运行中覆盖 lastDigit() 的所有结果。

请验证该方法对正数、负数以及以 0 结尾的整数都能返回正确的个位数字。

本练习是课程的一部分

Java 测试入门

查看课程

练习说明

  • 使用可向测试方法输入多个值的注解。
  • 为测试方法添加方法参数。

交互式实操练习

通过完成这段示例代码来试试这个练习。

public class LastDigitWithTests {
  public static void main(String[] args) {
    launchTestsAndPrint(LastDigitTest.class);
  }
}

class LastDigit {
    public static int lastDigit(int a) {
        return Math.abs(a) % 10;
    }
}

class LastDigitTest {

    @ParameterizedTest
    // Use the correct annotation for a pair of integer inputs
    @____(value = {"2025, 5", "-2025, 5", "2020, 0"}) 
    // Write the corresponding argument types for the test method
    void testLastDigit(____ number, ____ expected) {
        int actual = LastDigit.lastDigit(number);

        assertEquals(expected, actual);
    }
}
编辑并运行代码