תרגום של בדיקות JUNIT

בפרויקטים תוכנה מסוגננים בדרך כלל יש הרבה בדיקות יחידה (unit testing) כדי לאמת אותם. בפרויקטים של Java: JUnit היא ה-framework הנפוץ ביותר לבדיקת יחידה. J2ObjC מספק תמיכה בתרגום בדיקות יחידה, כך שניתן להריץ אותן כקבצים בינאריים ב-OS X. הפעולה הזאת מאמתת שהתרגום לא שינה את הסמנטיקה (בהתנהגות) של הכיתות המתורגמות, והוא מאמת הקוד המתורגם פועל כקוד Objective-C.

תרגום בדיקות

מריצים את j2objc עם junit.jar ב-classpath. עותק של קובץ ה-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

בדיקות פועלות

מריצים את קובץ ההפעלה לבדיקה עם השמות של בדיקה אחת או יותר או חבילות בדיקה, כמו בדיקות 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, ב- את קוד המקור של הפרויקט.