Μάθε πώς να δοκιμάζεις τις ασκήσεις σου στη Ruby στο Exercism
Εκτέλεσε τις δοκιμές με:
$ ruby hamming_test.rb
Θα εκτελεστεί μόνο η πρώτη δοκιμή, ενώ όλες οι υπόλοιπες έχουν τεθεί σε εκκρεμότητα με τη μέθοδο skip. Διάγραψε ή σχολίασε το επόμενο skip καθώς περνάς κάθε δοκιμή.
Η μέθοδος skip λέει στο σύνολο των δοκιμών να μην εκτελέσει κάποια δοκιμή. Αυτό χρησιμοποιείται συχνά για να αποφεύγεις να τρέχεις δοκιμές λειτουργικότητας που δεν έχεις υλοποιήσει ακόμη, ώστε να μπορείς να επικεντρωθείς στο κομμάτι με το οποίο ασχολείσαι τώρα.
Η σύνοψη της εκτέλεσης των δοκιμών θα εμφανίζει τον αριθμό των δοκιμών που παραλείφθηκαν. Καλό είναι να απενεργοποιήσεις όλες τις παραλείψεις πριν ολοκληρώσεις μια άσκηση.
Αν θέλεις χρώμα, εκτέλεσε τις δοκιμές με:
$ ruby hamming_test.rb -p
Αν θέλεις να βλέπεις τα ονόματα των δοκιμών, εκτέλεσε τις δοκιμές με:
$ ruby hamming_tests.rb -v
Αν θέλεις να εκτελέσεις μόνο μία δοκιμή, μπορείς να ορίσεις μία ή μια ομάδα με αντιστοίχιση τύπου κανονικής έκφρασης.
$ ruby hamming_tests.rb -n /empty/
Μπορείς επίσης να συνδυάσεις τις επιλογές.
Με τη νέα σου ικανότητα να επιλέγεις τις μεμονωμένες δοκιμές ή τις ομάδες δοκιμών που θέλεις να εκτελέσεις, ίσως θελήσεις να απενεργοποιήσεις όλες τις παραλείψεις.
Εκμεταλλευόμενος το γεγονός ότι στη Ruby οι μέθοδοι μπορούν να υπερκαλυφθούν, αν προσθέσεις αυτή τη γραμμή κώδικα:
def skip ; end
κάπως έτσι, στο αρχείο δοκιμών του Hamming
class HammingTest < Minitest::Test
def skip ; end
def test_identical_strands
τότε όλες οι παραλείψεις θα εξακολουθούν να αξιολογούνται, αλλά θα αφήνουν τις δοκιμές σου να εκτελεστούν.
Φυσικά, το να επεξεργάζεσαι όλα τα αρχεία κάθε φορά μπορεί να γίνει κουραστικό, οπότε μπορείς να κάνεις όπως κάναμε εμείς όταν αναπτύσσαμε τις ασκήσεις... να φτιάξεις ένα αρχείο που να περιέχει τον ορισμό του skip και να το κάνεις require ως βιβλιοθήκη όταν το χρειάζεσαι.
Δημιουργήσαμε έναν φάκελο lib για να κρατάμε τα δικά μας "βοηθητικά" πράγματα, και μοιάζει κάπως έτσι:
require 'minitest/autorun'
# You can use this to disable all skips in the current exercise by issuing the
# following command:
# ruby -I../lib -rdisable_skip <filename_test.rb>
module Minitest
class Test
def skip(_msg='', _bt=caller)
end
end
end
Η περιγραφή για το πώς να το χρησιμοποιήσεις υπάρχει σχολιασμένη σε αυτή την παράθεση του αρχείου, και η παράθεση του αρχείου είναι στην πλήρη της μορφή.