สร้างบัญชีตัวแทน JUnit ชุดทดสอบพร้อมตัวอย่าง: @RunWith @SuiteClasses

ใน Junit ชุดการทดสอบช่วยให้เราสามารถรวบรวมกรณีทดสอบทั้งหมดจากหลายคลาสไว้ในที่เดียวและรันร่วมกันได้

หากต้องการรันการทดสอบชุด คุณต้องใส่คำอธิบายประกอบในชั้นเรียนโดยใช้คำอธิบายประกอบที่กล่าวถึงด้านล่าง:

  1. @Runwith(Suite.คลาส)
  2. @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คุณจะได้ผลลัพธ์ด้านล่าง:

ชุดทดสอบ2.Java เอาท์พุต

ชุดทดสอบ2.Java เอาท์พุต

สรุป

ในบทช่วยสอนนี้ คุณจะได้เรียนรู้พื้นฐานของชุดทดสอบและชุดทดสอบโดยละเอียดพร้อมตัวอย่าง

  • ชุดทดสอบหรือระบบอัตโนมัติ การทดสอบ เป็นซอฟต์แวร์หรือชุดซอฟต์แวร์ที่ช่วยให้ผู้ใช้สามารถทดสอบข้อมูลด้วยอินพุตหลายตัวและควบคุมการดำเนินการ
  • ชุดทดสอบเปิดใช้งานกรอบการทดสอบที่ทำหน้าที่ดำเนินการทดสอบทั้งหมดโดยใช้ไลบรารีทดสอบและสร้างรายงานการทดสอบ
  • ใน Junit ชุดการทดสอบช่วยให้เราสามารถรวบรวมกรณีทดสอบทั้งหมดของหลายคลาสไว้ในที่เดียวและรันร่วมกันได้

สรุปโพสต์นี้ด้วย: