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

โครงการซอฟต์แวร์ที่ออกแบบมาอย่างดีมักจะมีการทดสอบ 1 หน่วยจำนวนมากเพื่อยืนยัน สำหรับโปรเจ็กต์ Java JUnit คือเฟรมเวิร์กการทดสอบหน่วยที่นิยมใช้กันมากที่สุด J2ObjC ให้การสนับสนุนการแปลหน่วยการทดสอบ ดังนั้นจึงสามารถดำเนินการเป็นไบนารีบน 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 เพื่อสร้างและเรียกใช้การทดสอบหน่วยจำนวนมากคือใน j2objc/jre_emul/tests.mk ในซอร์สโค้ดของโปรเจ็กต์