Μάθε πώς να δοκιμάζεις τις ασκήσεις σου σε Objective-C στο Exercism
Το Exercism θα κατεβάσει μόνο ένα αρχείο τεστ. Θα χρειαστεί να δημιουργήσεις χειροκίνητα το αρχείο επικεφαλίδας και το αρχείο πηγαίου κώδικα που σχετίζονται με την άσκηση. Θα χρειαστεί να δημιουργήσεις ένα αρχείο Xcode Project με το αρχείο τεστ, το αρχείο επικεφαλίδας (.h) και το αρχείο πηγαίου κώδικα (.m). Εναλλακτικά, μπορείς να χρησιμοποιήσεις ένα βοηθητικό πρόγραμμα εκτέλεσης τεστ, που περιγράφεται παρακάτω.
Τα τεστ θα εκτελεστούν μέσω του Xcode.
Σημείωση: Αν λάβεις το σφάλμα "No visible @interface for ExerciseName declares the selector ExerciseSelector," ακολούθησες σωστά τα βήματα, αλλά δεν έχεις γράψει τίποτα στο αρχείο επικεφαλίδας/υλοποίησης. Αφού δηλώσεις τη μέθοδό σου στο αρχείο .h και την ορίσεις στο αρχείο .m, τα τεστ σου θα εμφανίσουν πιο χρήσιμα σφάλματα που θα σε καθοδηγήσουν στην ολοκλήρωση της άσκησης. Διάβασε αυτό το εισαγωγικό οδηγό για τις κλάσεις της Objective-C για πιο αναλυτικές πληροφορίες.
Μια εναλλακτική λύση αντί να δημιουργήσεις χειροκίνητα το αρχείο του project είναι να χρησιμοποιήσεις ένα βοηθητικό πρόγραμμα εκτέλεσης τεστ γραμμένο σε Ruby, το objc, που θα δημιουργήσει για σένα ένα αρχείο project με το αρχείο τεστ, το αρχείο επικεφαλίδας και το αρχείο πηγαίου κώδικα.
$ gem install objc
Τρέξε τα τεστ με:
$ objc -x ExerciseName
(Πρόσεξε τη σημαία -x/--xcodebuild, που καθορίζει τη χρήση του xcodebuild αντί του xctool. Το τελευταίο δε λειτουργεί με τις πιο πρόσφατες εκδόσεις του Xcode.)
Το βοηθητικό πρόγραμμα objc χρησιμοποιεί το όνομα της άσκησης για να βρει το αρχείο τεστ, ExerciseNameTest.m, το αρχείο επικεφαλίδας, ExerciseName.h, και το αρχείο πηγαίου κώδικα ExerciseName.m. Τα αρχεία εισάγονται σε ένα προσωρινό Xcode Project και στη συνέχεια χρησιμοποιείται το xcodebuild για να εκτελέσει τα τεστ του project.
Ενώ με το objc δε χρειάζεται να ανοίξεις ποτέ το Xcode για να ολοκληρώσεις αυτές τις ασκήσεις, τα μηνύματα σφάλματος και η ανατροφοδότηση μέσω της γραμμής εντολών δεν είναι τόσο σαφή όσο μέσω της διεπαφής χρήστη του Xcode.