โครงการซอฟต์แวร์ที่ออกแบบมาอย่างดีมักจะมีการทดสอบ 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 ใน
ซอร์สโค้ดของโครงการ