TestNG - ดำเนินการทดสอบ
กรณีทดสอบดำเนินการโดยใช้ TestNGชั้นเรียน. คลาสนี้เป็นจุดเริ่มต้นหลักสำหรับการรันการทดสอบในกรอบงาน TestNG ผู้ใช้สามารถสร้างวัตถุ TestNG ของตนเองและเรียกใช้งานได้หลายวิธีเช่น -
บน testng.xml ที่มีอยู่
บน testng.xml สังเคราะห์ที่สร้างขึ้นจาก Java ทั้งหมด
โดยการตั้งค่าคลาสทดสอบโดยตรง
คุณยังสามารถกำหนดกลุ่มที่จะรวมหรือไม่รวมกำหนดพารามิเตอร์ ฯลฯ พารามิเตอร์บรรทัดคำสั่งคือ -
-d outputdir: ระบุไดเร็กทอรีเอาต์พุต
-testclass class_name: ระบุชื่อคลาสหนึ่งหรือหลายชื่อ
-testjar jar_name: ระบุ jar ที่มีการทดสอบ
-sourcedir src1; src2:; แยกรายการไดเร็กทอรีต้นทาง (ใช้เฉพาะเมื่อใช้คำอธิบายประกอบ javadoc)
-target
-groups
-testrunfactory
-listener
เราจะสร้างออบเจ็กต์ TestNG เป็น testng.xml ที่มีอยู่ในตัวอย่างด้านล่าง
สร้างชั้นเรียน
สร้างคลาส java ที่จะทดสอบพูดว่า MessageUtil.java ใน C:\>TestNG_WORKSPACE.
/*
* This class prints the given message on console.
*/
public class MessageUtil {
private String message;
//Constructor
//@param message to be printed
public MessageUtil(String message) {
this.message = message;
}
// prints the message
public String printMessage() {
System.out.println(message);
return message;
}
}
สร้างคลาสกรณีทดสอบ
สร้างคลาสทดสอบ java พูดว่า SampleTest.java.
เพิ่มวิธีการทดสอบ testPrintMessage () ในคลาสทดสอบของคุณ
เพิ่ม Annotation @Test ลงใน method testPrintMessage ()
ใช้เงื่อนไขการทดสอบและตรวจสอบเงื่อนไขโดยใช้ assertEquals API ของ TestNG
สร้างไฟล์คลาส java ชื่อ SampleTest.java ใน C:\>TestNG_WORKSPACE.
import org.testng.Assert;
import org.testng.annotations.Test;
public class SampleTest {
String message = "Hello World";
MessageUtil messageUtil = new MessageUtil(message);
@Test
public void testPrintMessage() {
Assert.assertEquals(message, messageUtil.printMessage());
}
}
สร้าง testng.xml
ต่อไปมาสร้างไฟล์ testng.xml ใน C:\>TestNG_WORKSPACEเพื่อดำเนินการกรณีทดสอบ ไฟล์นี้รวบรวมการทดสอบทั้งหมดของคุณใน XML ไฟล์นี้ทำให้ง่ายต่อการอธิบายชุดทดสอบและพารามิเตอร์ทั้งหมดของคุณในไฟล์เดียวซึ่งคุณสามารถตรวจสอบในที่เก็บโค้ดของคุณหรือส่งอีเมลถึงเพื่อนร่วมงานได้ นอกจากนี้ยังทำให้ง่ายต่อการแยกชุดย่อยของการทดสอบของคุณหรือแยกการกำหนดค่ารันไทม์หลายรายการ (เช่น testngdatabase.xml จะรันเฉพาะการทดสอบที่ใช้ฐานข้อมูลของคุณ)
<?xml version = "1.0" encoding = "UTF-8"?>
<suite name = "Sample test Suite">
<test name = "Sample test">
<classes>
<class name = "SampleTest" />
</classes>
</test>
</suite>
รวบรวมกรณีทดสอบโดยใช้ javac
C:\TestNG_WORKSPACE>javac MessageUtil.java SampleTest.java
ตอนนี้เรียกใช้ testng.xml ซึ่งจะเรียกใช้กรณีทดสอบที่กำหนดในแท็ก <test>
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
ตรวจสอบผลลัพธ์
Hello World
===============================================
Sample test Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================