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

Parameterized Test สำหรับตรวจสอบ Username

เมื่อความรู้ Java เพิ่มขึ้น จึงกลับมาปรับปรุง username validator จาก Chapter 1 ใหม่ เนื่องจากเมธอดนี้ขึ้นอยู่กับผลลัพธ์เดียว จึงสามารถย่อโค้ดให้กระชับขึ้นด้วย parameterization ได้

พิจารณากรณีที่เมธอด isValidUsername() ให้ผลลัพธ์เป็น failure ทั้งหมด แล้วรวมทุกกรณีไว้ใน @ParameterizedTest เดียว

แพ็กเกจ JUnit ที่จำเป็นได้ถูก import ไว้ให้แล้ว

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

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

ดูคอร์ส

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

  • ใช้ annotation ที่ถูกต้องเพื่อทำเครื่องหมายเทสว่าเป็น parameterized test
  • เพิ่ม null input เข้าไปในเทส
  • เพิ่ม annotation สำหรับระบุค่า input ในเทส
  • ระบุประเภทของค่า input

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

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

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

class UsernameValidatorTest {
	
    // Annotate with the correct annotation for parameterized test
    @____ 
    // Add the annotation for inputting a null input
    @____ 
    // Add the annotation for inputting values and the type of the inputs
    @____(____ = {"john doe", "jd"}) 
    void isValidUsername_returnsFalse_whenSpaces(String username) {
        boolean actual = UsernameValidator.isValidUsername(username);

        assertFalse(actual);
    }
}
แก้ไขและรันโค้ด