ฉันจะสร้างชุดทดสอบด้วย JUnit 4 ได้อย่างไร
เอกสารทั้งหมดที่ฉันเห็นดูเหมือนจะไม่ได้ผลสำหรับฉัน และถ้าฉันใช้วิซาร์ด Eclipse จะไม่มีตัวเลือกให้ฉันเลือกคลาสทดสอบใด ๆ ที่ฉันสร้างขึ้น
ฉันจะสร้างชุดทดสอบด้วย JUnit 4 ได้อย่างไร
เอกสารทั้งหมดที่ฉันเห็นดูเหมือนจะไม่ได้ผลสำหรับฉัน และถ้าฉันใช้วิซาร์ด Eclipse จะไม่มีตัวเลือกให้ฉันเลือกคลาสทดสอบใด ๆ ที่ฉันสร้างขึ้น
คำตอบ:
import org.junit.runners.Suite;
import org.junit.runner.RunWith;
@RunWith(Suite.class)
@Suite.SuiteClasses({TestClass1.class, TestClass2.class})
public class TestSuite {
//nothing
}
คุณสามารถสร้างห้องชุดเช่นนั้นได้ ตัวอย่างเช่นAllTest
ห้องชุดจะมีลักษณะเช่นนี้
package my.package.tests;
@RunWith(Suite.class)
@SuiteClasses({
testMyService.class,
testMyBackend.class,
...
})
public class AllTests {}
ตอนนี้คุณสามารถเรียกใช้สิ่งนี้ได้หลายวิธี:
เรียกใช้จากบรรทัดคำสั่ง:
$ java -cp build/classes/:/usr/share/java/junit4.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore my.package.tests.AllTests
ฉันคิดว่า TestSuite ไม่ได้รับความนิยม นั่นอาจเป็นสไตล์ก่อน 4.x แต่ตอนนี้ยังไม่เท่าที่ฉันรู้
ฉันแค่ใส่คำอธิบายประกอบการทดสอบที่ฉันต้องการแล้วเรียกใช้ชั้นเรียน ดำเนินการทดสอบคำอธิบายประกอบทั้งหมด ฉันอาจใช้ Ant แต่ส่วนใหญ่แล้วฉันให้ IntelliJ เรียกใช้มันให้ฉัน
@SuiteClass
คำอธิบายประกอบในหลายชั้นเรียนและคุณสามารถซ้อนห้องชุดภายในห้องชุดได้ แนวความคิดในการจัดระเบียบให้เป็น 3.x ยังใช้ได้โดยสิ้นเชิง (และควรใช้) คุณสามารถจัดโครงสร้างทุกอย่างได้เหมือนกับที่เคยทำมาก่อน TestSuite.suite()
คุณเพียงแค่ใช้ไวยากรณ์คำอธิบายประกอบแทน การใช้TestSuite
คำอธิบายประกอบไม่มีประโยชน์จริงๆและคุณสามารถใช้ประโยชน์จากการปรับปรุง JUnit 4 ทั้งหมดได้หากคุณใช้คำอธิบายประกอบที่เทียบเท่ากับองค์กร
ขั้นตอนในการสร้าง JUnit suite ใน eclipse มีดังนี้
ข้อมูลเวอร์ชัน: ใช้สำหรับ eclipse Neon และ JUnit 4 คุณยังสามารถเลือก JUnit 3 ก่อนที่จะเลือก 'เสร็จสิ้น' ในขั้นตอนที่ 6
ด้านบนของหัวของฉันสร้าง TestSuite และเรียกใช้ addTests หากคุณต้องการให้ Somesource ลองใช้ lib opensource ใด ๆ เช่น hibernate หรือบางอย่างจาก apache และดูภายใต้ไดเร็กทอรีทดสอบของแหล่งที่มาสำหรับชุดการทดสอบ ...