Test suite life cycle
เมื่อพิจารณาไฟล์ AdderTest.java จะเห็นว่ามีโค้ดที่เหมือนกันอยู่
แสดงว่า Test case ทั้งสองตัว มีขึ้นตอนการ Arrange ที่เหมือนกัน ดังนั้น เราสามารถย้ายโค้ดที่เหมือนกันมาไว้ใน function เดียว แล้วกำหนดให้ก่อนที่จะเรื่มทดสอบ ให้มาเรียก function นี้ก่อนทุกครั้งได้
แก้ไขไฟล์ AdderTest.java เพิ่ม function setup แล้วทำการย้ายโค้ดที่เหมือนกันมาไว้ใน function setup
public class AdderTest { Adder adder; @Before public void setup() { adder = new Adder(); } @Test public void Add_Should_ReturnSumOfInputs() { int result = adder.add(1, 1); Assert.assertEquals(2, result); } @Test public void Add_With_2_2_ShouldReturn_4() { int result = adder.add(2, 2); Assert.assertEquals(4, result); } }
ลอง Run test จะต้องได้ผลลัพธ์เหมือนเดิม
ลำดับในการเรียก function จะเป็นดังรูปนี้
ในตัวอย่างนี้เป็นเพียวส่วนหนึ่งเท่านั้น สำหรับ life cycle ทั้งหมด จะเป็นดังรูป
ดังนั้น จึงเป็นหน้าที่ของผู้ที่เขียนและแก้ไขต้องเลือกใช้ให้เหมาะสม