วิธีการจัดการการทดสอบที่ไม่ใช่หน่วยในโครงการ?


9

ฉันมีรหัสบางอย่างในโครงการของฉันฉันเรียกตัวเองtestsว่าไม่ใช่การทดสอบหน่วย พวกเขาตั้งใจที่จะวิ่งและผลลัพธ์จะต้องมีการประเมินโดยมนุษย์ ฉันทำสิ่งนี้เพราะฉันสร้างเครื่องยนต์ฟิสิกส์และในระหว่างการพัฒนาฉันต้องดูว่าฉันกำลังทำอะไรอยู่ ดังนั้นฉันจึงทำsimulationแพ็คเกจในโมดูลทดสอบ เป็นการทดสอบหน่วยทางเทคนิคเพราะการจำลองกำลังใช้ไลบรารีการทดสอบหน่วย แต่ฉันไม่ได้ตั้งใจที่จะเรียกใช้พวกเขาทั้งหมดเช่นการทดสอบหน่วยที่แท้จริงของฉัน

สิ่งที่ฉันต้องการทำคือแยกความแตกต่างของการทดสอบพิเศษจากการทดสอบหน่วยของฉันเพราะฉันต้องการเรียกใช้การทดสอบหน่วยทั้งหมดได้อย่างง่ายดาย ฉันคิดว่ามันเหมือนกับการทดสอบเชิงหน้าที่ คุณเคยเจอกรณีที่คุณต้องเตรียมใบสมัครสำหรับการทดสอบการทำงานหรือไม่? การจัดเตรียมการทดสอบการทำงาน (โดยทั่วไปคือแบบจำลองของฉัน) อยู่ที่ไหนในโครงการและวิธีแยกแยะความแตกต่างจากการทดสอบหน่วย

ฉันอยู่ใน Java ดังนั้นฉันสามารถเปลี่ยนลายเซ็นวิธีการทั้งหมดของฉันจาก@Test public void myNamedTest()เป็นpublic static void main(String[] args)แต่มันจะลำบากและเป็นประโยชน์น้อยกว่าสำหรับฉันที่จะใช้แบบจำลองของฉัน

ฉันใช้junitในgradleโครงการ โซลูชันใด ๆ ที่สร้างโฟลเดอร์ทดสอบพิเศษด้วยgradleยินดีต้อนรับ


2
ฉันคิดว่าสิ่งที่คุณกำลังพูดถึงคืออุปกรณ์ทดสอบที่คุณสามารถเรียกใช้การทดสอบแบบเฉพาะกิจ สิ่งเหล่านี้มีมานานตราบเท่าที่ฉันจำได้ (30+ ปี) - อาจจะเป็นก่อนหน้านั้น พวกเขามักจะนั่งในโครงการแยกต่างหากที่สามารถเข้าถึงห้องสมุดหรืออะไรก็ได้ แต่คุณสามารถสร้างมันได้ตามที่คุณต้องการ
Robbie Dee

3
คำศัพท์หน่วย / บูรณาการ / ทดสอบการทำงานอธิบายขอบเขตของการทดสอบ: สิ่งที่จะถูกทดสอบ ซึ่งไม่ขึ้นอยู่กับการทดสอบเหล่านี้เช่นการทดสอบด้วยตนเองและการทดสอบอัตโนมัติ สามารถมีการทดสอบการยอมรับอัตโนมัติและการทดสอบหน่วยด้วยตนเองและอะไรก็ได้ระหว่างนี้ ดังนั้นหากคุณใช้ JUnit ในการรันการทดสอบการใช้งานด้วยตนเองนั่นก็ดีมาก - เพียงแค่แยกพวกมันออกจากการทดสอบอัตโนมัติของคุณเพื่อให้มันไม่ได้ทำงานตามค่าเริ่มต้น
amon

คำตอบ:


10

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

ไม่ว่าคุณต้องการที่จะผสมในการทดสอบเหล่านี้กับการทดสอบหน่วยเป็นเรื่องของการตั้งค่าองค์กร หนึ่งอาจต้องการสร้างโครงการ "แท่นขุดเจาะทดสอบ" แยกต่างหากเพื่อแยกการทดสอบหน่วยปกติกับโครงการพิเศษเพิ่มเติม

https://dzone.com/articles/closer-look-junit-categories

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.