เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

CsvSource: ตัวเลข

กลับมาดูเมธอด lastDigit() จากบทที่ 1 อีกครั้ง คราวนี้เพิ่มการรองรับค่าลบด้วย Math.abs() แล้ว เมื่อรู้ว่าสามารถย่อการทดสอบให้กระชับขึ้นด้วย @ParameterizedTest ได้ จึงลองทดสอบผลลัพธ์ทั้งหมดของ lastDigit() ในครั้งเดียว

ตรวจสอบว่าเมธอดคืนค่าหลักสุดท้ายที่ถูกต้องสำหรับจำนวนเต็มที่เป็นบวก ลบ และลงท้ายด้วยศูนย์

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การทดสอบใน Java เบื้องต้น

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ annotation สำหรับส่งค่าหลายค่าเข้าไปในเมธอดทดสอบ
  • เพิ่มอาร์กิวเมนต์ให้กับเมธอดทดสอบ

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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);
    }
}
แก้ไขและรันโค้ด