Δοκιμές στη διαδρομή Objective-C

Μάθε πώς να δοκιμάζεις τις ασκήσεις σου σε Objective-C στο Exercism


Το Exercism θα κατεβάσει μόνο ένα αρχείο τεστ. Θα χρειαστεί να δημιουργήσεις χειροκίνητα το αρχείο επικεφαλίδας και το αρχείο πηγαίου κώδικα που σχετίζονται με την άσκηση. Θα χρειαστεί να δημιουργήσεις ένα αρχείο Xcode Project με το αρχείο τεστ, το αρχείο επικεφαλίδας (.h) και το αρχείο πηγαίου κώδικα (.m). Εναλλακτικά, μπορείς να χρησιμοποιήσεις ένα βοηθητικό πρόγραμμα εκτέλεσης τεστ, που περιγράφεται παρακάτω.

Δημιουργία του project στο Xcode

  • Άνοιξε το Xcode και δημιούργησε ένα νέο project.
  • Επίλεξε OS X > Application και έπειτα Command Line Tool.
  • Κάνε κλικ στο Next και δώσε στο project ένα όνομα· συνιστάται να χρησιμοποιήσεις το ExerciseName.
  • Κάνε κλικ στο Next και αποθήκευσε το project στον κατάλογο ασκήσεων του Exercism.
  • Τώρα που δημιουργήθηκε το project, κάνε κλικ στο Editor > Add Target.
  • Επίλεξε OS X > Test και διάλεξε OS X Unit Testing Bundle.
  • Ονόμασε το target ExerciseName Tests.
  • Στο αριστερό τμήμα (γνωστό ως navigator), άνοιξε τον Project navigator, ανάπτυξε τον φάκελο ExerciseName Tests και άνοιξε το αρχείο ExerciseName_Tests.m.
  • Αντικατέστησε το περιεχόμενό του με το αρχείο τεστ που κατέβασες από το Exercism.
  • Σε αυτό το αρχείο, αντικατέστησε όλες τις εμφανίσεις του "test_suite" με "ExerciseName_Tests".
  • Πήγαινε στη βιβλιοθήκη File Template στο δεξί τμήμα (ή χρησιμοποίησε το CTRL+OPTION+CMD+1) και σύρε το πρότυπο Cocoa Class στον φάκελο ExerciseName_Tests του Project navigator.
  • Ονόμασέ το ExerciseName και επίλεξε το ExerciseName Tests ως target του.
  • Τώρα θα έχεις δύο νέα αρχεία στον κατάλογο ExerciseName_Tests: ExerciseName.h και ExerciseName.m.
  • Κάνε κλικ στο project σου στον Project navigator.
  • Κάνε κλικ στο ExerciseName Tests στη λίστα targets.
  • Επίλεξε Build Phases στην πλοήγηση του editor.
  • Επιβεβαίωσε ότι και τα δύο αρχεία .m βρίσκονται στη λίστα compile sources.
  • Χρησιμοποίησε το CMD+5 για να πας στον Test navigator.
  • Κάνε δεξί κλικ στο bundle με όνομα ExerciseName Tests και κάνε κλικ στο Enable ExerciseName_Tests.
  • Τρέξε τα τεστ κάνοντας κλικ στο τρίγωνο που δείχνει προς τα δεξιά και εμφανίζεται όταν περνάς τον δείκτη πάνω από το bundle στον Test navigator, ή χρησιμοποίησε το CMD+U.

Τα τεστ θα εκτελεστούν μέσω του 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.