กําลังแปลการทดสอบ JUnit

โครงการซอฟต์แวร์ที่ออกแบบมาอย่างดีมักจะมีการทดสอบ 1 หน่วยเพื่อยืนยัน สำหรับโปรเจ็กต์ Java JUnit เป็นเฟรมเวิร์กการทดสอบ 1 หน่วยที่ใช้กันมากที่สุด J2ObjC มอบ รองรับการแปลการทดสอบ 1 หน่วย จึงดำเนินการเป็นไบนารีบน OS X ได้ ซึ่งเป็นการยืนยันว่า การแปลดังกล่าวไม่ได้เปลี่ยนอรรถศาสตร์ (พฤติกรรม) ของชั้นเรียนที่แปล และช่วยยืนยันว่า โค้ดที่แปลแล้วจะทำงานเป็นโค้ด Objective-C

การทดสอบการแปล

เรียกใช้ j2objc ด้วย junit.jar ในคลาสพาธ สำเนาของไฟล์ Jar นี้รวมอยู่ใน j2objc การเผยแพร่ ชื่อว่า lib/j2objc_junit.jar:

# Example: J2ObjC bundle unzipped into a ~/tools directory
export J2OBJC_HOME=~/tools/j2objc
${J2OBJC_HOME}/j2objc -classpath ${J2OBJC_HOME}/lib/j2objc_junit.jar MyUnitTest.java

การทดสอบการลิงก์

ลิงก์กับไลบรารี libjunit.a ในไดเรกทอรี lib/ ของ J2ObjC โดยใช้ แฟล็ก -l ของคอมไพเลอร์:

${J2OBJC_HOME}/j2objcc -ObjC -o mytest -ljunit MyUnitTest.m

การทดสอบที่ทำงานอยู่

เรียกใช้ไฟล์ปฏิบัติการทดสอบที่มีชื่อของการทดสอบและ/หรือชุดทดสอบอย่างน้อย 1 รายการ เช่น การทดสอบ JUnit ใน Java ชื่ออาจเป็นชื่อ Java ที่มีคุณสมบัติครบถ้วน (พร้อมแพ็กเกจ) หรือชื่อที่เทียบเท่า ชื่อที่แปลแล้ว ตัวอย่างเช่น สามารถระบุคลาสทดสอบ com.company.MyUnitTest เป็น ComCompanyMyUnitTest

./mytest org.junit.runner.JUnitCore com.company.MyUnitTest  # or com.company.Test2

org.junit.runner.JUnitCore เป็นหนึ่งในตัวดำเนินการทดสอบของ JUnit ซึ่งสามารถเรียกใช้ JUnit3 หรือ JUnit4 ได้ การทดสอบ แต่สามารถใช้โปรแกรมเรียกใช้ JUnit อื่นๆ ได้เช่นกัน

การทดสอบอาคาร

ตัวอย่างที่ดีของวิธีใช้ make เพื่อสร้างและเรียกใช้ชุดการทดสอบ 1 หน่วยขนาดใหญ่คือ j2objc/jre_emul/tests.mk ใน ซอร์สโค้ดของโครงการ