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

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

בדיקות תרגום

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