JUnit Testcases ใน Java: Simple JUnit 5.7.1 บทช่วยสอน Hello World พร้อมรายละเอียดทั้งหมดในที่เดียว

เผยแพร่แล้ว: 2019-10-30
java-junit-example

JUnit คืออะไร?

JUnit เป็นเฟรมเวิร์กโอเพ่นซอร์สที่เรียบง่าย ทรงพลัง สำหรับเขียนและรันการทดสอบที่ทำซ้ำได้ ฉันชอบเคสทดสอบของ JUnit ในระหว่างการพัฒนาโปรเจ็กต์ Java ฉันใช้ JUnit อย่างกว้างขวางเพื่อครอบคลุมโค้ด เป็นตัวอย่างของสถาปัตยกรรม xUnit สำหรับเฟรมเวิร์กการทดสอบหน่วย

คุณสมบัติของ JUnit รวมถึง:

  1. การยืนยันสำหรับการทดสอบผลลัพธ์ที่คาดหวัง
  2. อุปกรณ์ทดสอบสำหรับการแบ่งปันข้อมูลการทดสอบทั่วไป
  3. นักวิ่งทดสอบสำหรับการทดสอบการวิ่ง

ในบทช่วยสอนนี้ ฉันจะพูดถึงจุดที่ 1 และ 3 คุณต้องมีการอ้างอิง maven ที่ต่ำกว่าในโครงการของคุณ

มาเริ่มเขียนโค้ดกันเลย

ขั้นตอนที่ 1

สร้างโครงการ CrunchifyJunitTest และระบุแพ็คเกจ com.crunchify.junit นี่คือโครงสร้างแพ็คเกจสำหรับการอ้างอิงอย่างรวดเร็ว

Crunchify JUnit Project Eclipse โครงสร้าง

ขั้นตอนที่ 2

คลิกขวาที่ CrunchifyJunitTest => New Class => CrunchifyJunitTest.java

ขั้นตอนที่ 3

Eclipse จะแนะนำและเพิ่มการพึ่งพา org.junit.Test โดยอัตโนมัติเมื่อคุณพิมพ์ @Test

การทดสอบ Eclipse Maven Dependency

ขั้นตอนที่ 4

เพื่อทดสอบการทดสอบ JUnit ของคุณ

  • คลิกขวาที่คลาส
  • คลิกที่ Run As
  • คลิกที่ JUnit Test

คุณควรเห็นอะไรแบบนี้

การทดสอบ JUnit สำเร็จ

ขั้นตอนที่ -5

ลองเปลี่ยนวิธีการคาดหวังค่าพารามิเตอร์จาก 30 => 300 และจาก Hello World => Hello -- World แล้วทดสอบอีกครั้ง

การทดสอบ JUnit ล้มเหลว - Crunchify Tips

ขั้นตอนที่ 6

ตอนนี้ให้เรียกใช้กรณีทดสอบเดียวกัน via other java สร้าง CrunchifyRunnerJUnit.java

ขั้นตอนที่ 7

รัน CrunchifyRunnerJUnit.java เป็น Java Application

ขั้นตอนที่-8

ในกรณีของ 1st code (พารามิเตอร์ที่คาดไว้ถูกต้อง) คุณควรเห็นผลลัพธ์ดังนี้:

ขั้นตอนที่ 9

ในกรณีของ 2nd code (พารามิเตอร์ที่คาดไว้ไม่ถูกต้อง) คุณควรเห็นสิ่งนี้:

และคุณพร้อมแล้ว โปรดแจ้งให้เราทราบหากคุณพบปัญหาในการเรียกใช้รหัสนี้

บทช่วยสอน JUnit โดย Crunchify

คำอธิบายประกอบที่มีอยู่ในกรณีทดสอบ JUnit:

คำอธิบายประกอบ

คำอธิบาย

@ทดสอบวิธีการโมฆะสาธารณะ () คำอธิบายประกอบ @Test ระบุว่าเมธอดเป็นวิธีการทดสอบ
@Before วิธีโมฆะสาธารณะ () จะดำเนินการตามวิธีการก่อนการทดสอบแต่ละครั้ง วิธีนี้สามารถเตรียมสภาพแวดล้อมการทดสอบได้ (เช่น อ่านข้อมูลอินพุต เริ่มต้นคลาส)
@หลังจากวิธีการโมฆะสาธารณะ () จะดำเนินการตามวิธีการหลังจากการทดสอบแต่ละครั้ง วิธีนี้สามารถล้างสภาพแวดล้อมการทดสอบได้ (เช่น ลบข้อมูลชั่วคราว เรียกคืนค่าเริ่มต้น)
@BeforeClass วิธีโมฆะสาธารณะ () จะดำเนินการตามวิธีการหนึ่งครั้ง ก่อนเริ่มการทดสอบทั้งหมด สามารถใช้เพื่อทำกิจกรรมที่ต้องใช้เวลามาก เช่น เพื่อเชื่อมต่อกับฐานข้อมูล
@ AfterClass วิธีโมฆะสาธารณะ () จะดำเนินการตามวิธีการหนึ่งครั้งหลังจากการทดสอบทั้งหมดเสร็จสิ้น สามารถใช้เพื่อทำกิจกรรมการล้างข้อมูลได้ เช่น เพื่อยกเลิกการเชื่อมต่อจากฐานข้อมูล
@ไม่สนใจ จะละเว้นวิธีการทดสอบ สิ่งนี้มีประโยชน์เมื่อมีการเปลี่ยนแปลงโค้ดพื้นฐานและกรณีทดสอบยังไม่ได้รับการดัดแปลง หรือถ้าเวลาดำเนินการของการทดสอบนี้ยาวเกินไปที่จะรวม
@Test (คาดหวัง = Exception.class) ล้มเหลว หากเมธอดไม่ส่งข้อยกเว้นที่มีชื่อ
@ทดสอบ(หมดเวลา=100) ล้มเหลว หากวิธีการใช้เวลานานกว่า 100 มิลลิวินาที

วิธีการทดสอบยืนยันที่ใช้ได้:

คำแถลง

คำอธิบาย

ล้มเหลว (สตริง) ปล่อยให้วิธีการล้มเหลว อาจใช้ตรวจสอบว่าโค้ดบางส่วนไม่ถึง หรือให้มีการทดสอบที่ล้มเหลวก่อนที่จะมีการนำรหัสทดสอบไปใช้
ยืนยันจริง (จริง) / ยืนยันจริง (เท็จ) จะเป็นจริง/เท็จเสมอ สามารถใช้เพื่อกำหนดผลการทดสอบล่วงหน้า หากยังไม่ได้ทำการทดสอบ
assertTrue([ข้อความ] เงื่อนไขบูลีน) ตรวจสอบว่าเงื่อนไขบูลีนเป็นจริง
assertsEquals([ข้อความสตริง], คาดหวัง, จริง) ทดสอบว่าค่าทั้งสองมีค่าเท่ากัน หมายเหตุ: สำหรับอาร์เรย์ การอ้างอิงจะถูกตรวจสอบไม่ใช่เนื้อหาของอาร์เรย์
assertsEquals([ข้อความสตริง], คาดหวัง, จริง, ค่าเผื่อ) ทดสอบว่าค่าทศนิยมหรือค่าสองเท่าตรงกัน ค่าความคลาดเคลื่อนคือจำนวนทศนิยมที่ต้องเท่ากัน
assertNull([ข้อความ] วัตถุ) ตรวจสอบว่าอ็อบเจ็กต์เป็นโมฆะ
assertNotNull([ข้อความ] วัตถุ) ตรวจสอบว่าอ็อบเจ็กต์ไม่เป็นโมฆะ
assertSame([สตริง], คาดหวัง, จริง) ตรวจสอบว่าตัวแปรทั้งสองอ้างถึงอ็อบเจกต์เดียวกัน
assertNotSame([สตริง], คาดหวัง, จริง) ตรวจสอบว่าตัวแปรทั้งสองอ้างถึงอ็อบเจกต์ต่างกัน