CsvSource: Chữ số
Bạn đã xem lại lastDigit() từ Chương 1, và lần này bạn đã xử lý các giá trị âm bằng Math.abs(). Giờ bạn biết có thể rút gọn bài kiểm thử với @ParameterizedTest, bạn muốn kiểm thử mọi kết quả của lastDigit() trong một lượt.
Hãy kiểm tra phương thức trả về đúng chữ số cho các số nguyên dương, âm, và kết thúc bằng 0.
Bài tập này là một phần của khóa học
Nhập môn Kiểm thử trong Java
Hướng dẫn bài tập
- Dùng annotation để đưa nhiều giá trị vào một phương thức kiểm thử.
- Thêm các đối số phương thức cho phương thức kiểm thử.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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);
}
}