JavaRush /จาวาบล็อก /Random-TH /JUnit ส่วนที่ 2

JUnit ส่วนที่ 2

เผยแพร่ในกลุ่ม
ความต่อเนื่อง เริ่มต้นที่นี่ -> JUnit ตอนที่ I
JUnit ส่วนที่ 2 - 1
ฉันยังต้องการแสดงให้คุณเห็นว่าวิธีการทำงานอย่างไรAssert.fail(String)- หากเรียกใช้วิธีนี้ การทดสอบจะล้มเหลว สะดวกหากวิธีอื่นของคลาสAssert ไม่สามารถตรวจสอบให้เราได้ เอาเป็นว่าเราต้องห้ามnew String(“”)รับ name = “” || null, age = 0; Sex = nullมาลองทำสิ่งนี้ โดยใช้ Constructor และปิดการใช้งานการส่งผ่าน ไปกันเลย... ฉันเพิ่มช่องเพิ่มเติมสำหรับการทดสอบแล้ว
private User user;
private User user1;
private User user2;

private User userNotAdd;
private User userNotAdd1;
และเปลี่ยนวิธีการsetUp()
@Before
public void setUp() throws Exception {
    user = new User("Eugene", 35, Sex.MALE);
    user1 = new User("Marina", 34, Sex.FEMALE);
    user2 = new User("Alina", 7, Sex.FEMALE);

    userNotAdd = new User("", 0, null);
    userNotAdd1 = new User(null, 0, null);
}
และเพิ่มวิธีทดสอบสามวิธี
@Test
public void newUser_EMPTY_NAME() {
    for (User user : User.getAllUsers()){
        if (user.getName() != null && user.getName().isEmpty()) {
            Assert.fail("Попытка создания пользователя с пустым именем");
        }
    }
}

@Test
public void newUser_AGE_ZERO() {
    for (User user : User.getAllUsers()) {
        if (user.getAge() <= 0) {
            Assert.fail("Попытка создания пользователя c не допустимым возрастом");
        }
    }
}

@Test
public void newUser_SEX_NO_NULL() {
    for (User user : User.getAllUsers()) {
        if (user.getSex() == null) {
            Assert.fail("Попытка создания пользователя с указанием пола = null");
        }
    }
}
ในการทดสอบ เราจะดูรายชื่อผู้ใช้ที่เพิ่มเข้ามาและดูว่ามีข้อมูลที่ไม่ถูกต้องหรือไม่ เราทำการทดสอบเป็นกลุ่มและเห็นภาพต่อไปนี้... JUnit ส่วนที่ 2 - 2 คุณจะเห็นว่าการทดสอบของเราสำหรับ Constructor เสียหาย และยังมีการทดสอบอีก 2-3 รายการด้วย ตอนนี้เราต้องเปลี่ยน Constructor เพื่อไม่ให้เพิ่มเข้าไป ผู้ใช้ที่มีพารามิเตอร์ไม่ถูกต้องในรายชื่อผู้ใช้ ให้ดำเนินการดังนี้:
public User(String name, int age, Sex sex) {
    if (name != null && !name.isEmpty() && age > 0 && sex != null){
        this.name = name;
        this.age = age;
        this.sex = sex;

        if (!hasUser()) {
            countId++;
            this.id = countId;
            allUsers.put(id, this);
        }
    }
}
เราทำการทดสอบและเห็นว่าทุกอย่างสวยงาม JUnit ส่วนที่ 2 - 3 สรุปได้ ว่า JUnitเป็นเครื่องมือที่ยอดเยี่ยมในการครอบคลุมโค้ดของคุณด้วยการทดสอบ JUnitจะทำงานได้ดียิ่งขึ้นเมื่อใช้ร่วมกับMavenเมื่อสร้างโปรเจ็กต์Mavenจะทำการทดสอบทั้งหมดอย่างแน่นอน จากนั้นจึงสร้างโปรเจ็กต์ที่เสร็จแล้วของเรา แต่ถ้าการทดสอบล้มเหลว โปรเจ็กต์จะไม่ถูกสร้างขึ้น และเราจะทราบเหตุผล และจะง่ายกว่าที่จะทราบว่าจุดเสียนั้นอยู่ที่ใด ข้อได้เปรียบประการที่สองของJUnitคือกรณีของRefactoring การ ทดสอบJUnitจะช่วยให้เรามั่นใจได้ว่าตรรกะของโปรแกรมของเราจะไม่เสียหาย และในโครงการขนาดใหญ่ ชีวิตเป็นไปไม่ได้หากไม่มีระบบการทดสอบอัตโนมัติ แม้ว่าอาจจะเป็นไปได้ แต่โครงการของคุณจะเคลื่อนที่ด้วยความเร็วเหมือนหอยทาก... หรืออะไรทำนองนั้น... JUnit ส่วนที่ 2 - 4 ถ้าเราครอบคลุมโค้ดของเราด้วยการทดสอบอย่างดี แล้วเราจะมั่นใจได้ว่าลูกค้าของเราผลิตภัณฑ์ของเราจะทำงานได้ดี P/S ฉันขอแสดงความขอบคุณอย่างสุดซึ้งต่อ Victor Sergeev!!! นี่คือลิงก์ไปยังบทเรียนวีดิทัศน์ที่เขาสอนเรา: ขอขอบคุณสำหรับความสนใจของคุณ!!! อารมณ์ดี!!! และขอให้พระเจ้าช่วยคุณจากรหัสฮินดู!!! ...นอกจากนี้ หากใครสนใจที่จะเจาะลึก Source Code ของบทความ... มาเคาะกันได้เลย... ฉันจะแบ่งปันจุดเริ่มต้นที่นี่ - JUnit part I
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION