สร้างบัญชีตัวแทน JUnit ชุดทดสอบพร้อมตัวอย่าง: @RunWith @SuiteClasses
ใน Junit ชุดการทดสอบช่วยให้เราสามารถรวบรวมกรณีทดสอบทั้งหมดจากหลายคลาสไว้ในที่เดียวและรันร่วมกันได้
หากต้องการรันการทดสอบชุด คุณต้องใส่คำอธิบายประกอบในชั้นเรียนโดยใช้คำอธิบายประกอบที่กล่าวถึงด้านล่าง:
- @Runwith(Suite.คลาส)
- @SuiteClasses(test1.class,test2.class……) หรือ@Suite.SuiteClasses ({test1.class, test2.class……})
ด้วยคำอธิบายประกอบข้างต้น คลาสการทดสอบทั้งหมดในชุดจะเริ่มดำเนินการทีละรายการ
ขั้นตอนในการสร้างชุดทดสอบและตัวทดสอบ
ขั้นตอน 1) สร้างคลาสทดสอบอย่างง่าย (เช่น MyFirstClassTest) และเพิ่มวิธีการที่มีคำอธิบายประกอบด้วย @test
ขั้นตอน 2) สร้างคลาสทดสอบอื่นเพื่อเพิ่ม (เช่น MySecondClassTest) และสร้างวิธีการที่มีคำอธิบายประกอบด้วย @test
ขั้นตอน 3) ในการสร้าง testSuite คุณต้องใส่คำอธิบายประกอบคลาสด้วย @RunWith(Suite.class) และ @SuiteClasses(class1.class2…..) ก่อน
ขั้นตอน 4) สร้างคลาส Test Runner เพื่อรันชุดทดสอบของเราตามที่ระบุด้านล่าง
คำอธิบายรหัส:
- รหัสบรรทัด 8: ประกาศวิธีหลักของการทดสอบชั้นเรียนซึ่งจะรันของเรา JUnit ทดสอบ
- รหัสบรรทัด 9: การดำเนินการกรณีทดสอบโดยใช้ JunitCore.runclasses ซึ่งรับชื่อคลาสการทดสอบเป็นพารามิเตอร์ (ในตัวอย่างข้างต้น คุณใช้ TestSuiteExample.class ตามที่แสดงในขั้นตอนที่ 3)
- รหัสบรรทัด 11: การประมวลผลผลลัพธ์โดยใช้ for loop และการพิมพ์ผลลัพธ์ล้มเหลว
- รหัสบรรทัด 13: การพิมพ์ผลลัพธ์สำเร็จ
Output: นี่คือผลลัพธ์ที่แสดงการทดสอบที่สำเร็จโดยไม่มีการติดตามความล้มเหลวดังที่ระบุด้านล่าง:
JUnit ตัวอย่างชุดทดสอบ
พิจารณาตัวอย่างที่ซับซ้อนกว่านี้
จูนิทเทสต์จาวา
JunitTest.java เป็นคลาสเรียบง่ายที่มีคำอธิบายประกอบด้วย @รันวิท และ @สวีท คำอธิบายประกอบ คุณสามารถแสดงรายการจำนวน .classes ในชุดเป็นพารามิเตอร์ตามที่ระบุด้านล่าง:
package guru99.junit;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({
SuiteTest1.class,
SuiteTest2.class,
})
public class JunitTest {
// This class remains empty, it is used only as a holder for the above annotations
}
SuiteTest1.java
SuiteTest1.java เป็นคลาสทดสอบที่มีวิธีทดสอบเพื่อพิมพ์ข้อความตามที่ระบุด้านล่าง คุณจะใช้คลาสนี้เป็นชุดในคลาสที่กล่าวข้างต้น
package guru99.junit;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class SuiteTest1 {
public String message = "Saurabh";
JUnitMessage junitMessage = new JUnitMessage(message);
@Test(expected = ArithmeticException.class)
public void testJUnitMessage() {
System.out.println("Junit Message is printing ");
junitMessage.printMessage();
}
@Test
public void testJUnitHiMessage() {
message = "Hi!" + message;
System.out.println("Junit Hi Message is printing ");
assertEquals(message, junitMessage.printHiMessage());
System.out.println("Suite Test 2 is successful " + message);
}
}
SuiteTest2.java
SuiteTest2.java เป็นคลาสทดสอบอื่นที่คล้ายกับ SuiteTest1.java มีวิธีทดสอบการพิมพ์ข้อความตามด้านล่างนี้ คุณจะใช้คลาสนี้เป็นชุดใน จูนิทเทสต์จาวา.
package guru99.junit;
import org.junit.Assert;
import org.junit.Test;
public class SuiteTest2 {
@Test
public void createAndSetName() {
String expected = "Y";
String actual = "Y";
Assert.assertEquals(expected, actual);
System.out.println("Suite Test 1 is successful " + actual);
}
}
เอาท์พุต
หลังจากดำเนินการ จูนิทเทสต์.java ซึ่งมีชุดโปรแกรมที่มี test1.java และ test2.javaคุณจะได้ผลลัพธ์ด้านล่าง:
สรุป
ในบทช่วยสอนนี้ คุณจะได้เรียนรู้พื้นฐานของชุดทดสอบและชุดทดสอบโดยละเอียดพร้อมตัวอย่าง
- ชุดทดสอบหรือระบบอัตโนมัติ การทดสอบ เป็นซอฟต์แวร์หรือชุดซอฟต์แวร์ที่ช่วยให้ผู้ใช้สามารถทดสอบข้อมูลด้วยอินพุตหลายตัวและควบคุมการดำเนินการ
- ชุดทดสอบเปิดใช้งานกรอบการทดสอบที่ทำหน้าที่ดำเนินการทดสอบทั้งหมดโดยใช้ไลบรารีทดสอบและสร้างรายงานการทดสอบ
- ใน Junit ชุดการทดสอบช่วยให้เราสามารถรวบรวมกรณีทดสอบทั้งหมดของหลายคลาสไว้ในที่เดียวและรันร่วมกันได้







