RoR – Αυτοματοποίηση των tests

Αν θέλουμε να αποφύγουμε, κάθε φορά που θέλουμε να τρέξουμε τη σουίτα των tests μας, να γυρίζουμε σε γραμμή εντολών, μπορούμε να το γλιτώσουμε με τη βοήθεια του «Guard«. Το Guard έχει την δυνατότητα όχι μόνο να τρέχει αυτόματα τα tests μας κάθε φορά που κάνουμε κάποια αλλαγή σε ένα αρχείο, αλλά και να τρέχει μόνο εκείνα τα tests που αντιστοιχούν στον αλλαγμένο κώδικά μας.

Αρχικά πρέπει να προσθέσουμε στο Gemfile το κατάλληλο gem. Θεωρώντας ότι χρησιμοποιούμε RSpec αντί Test::Unit προσθέτουμε το ‘guard-rspec’ (αλλιώς σκέτο ‘guard’) στο group ‘development’:

group :development do
  gem 'guard-rspec'
end

Σύμφωνα με το Rails Tutorial, πρέπει επίσης να προσθέσουμε κάποια ακόμα gems κάτω από το group ‘test’, ανάλογα με το λειτουργικό μας. Εφόσον χρησιμοποιούμε Rails 4 (για παλιότερες εκδόσεις είναι λίγο διαφορετικά) προσθέτουμε:

  • Σε Linux:
    group :test do
      gem 'libnotify'
    end
    
  • Σε Windows:
    group :test do
      gem 'rb-notifu'
      gem 'win32console'
      gem 'wdm'
    end
    
  • Σε OS X:
    group :test do
      gem 'growl'
    end
    

Στη συνέχεια τρέχουμε:


bundle install
bundle exec guard init rspec

Μπορούμε αν θέλουμε να τροποποιήσουμε το παραγόμενο ‘Guardfile’. Για να μην τρέχουν όλα τα tests κάθε φορά μπορούμε να προσθέσουμε (πάντα στη περίπτωση που χρησιμοποιούμε  RSpec αντί Test::Unit):

guard 'rspec', all_after_pass: false do
...
end

Εν τέλει τρέχουμε:


bundle exec guard

Έτοιμοι!

This entry was posted in Ruby on Rails, Web development, Προγραμματισμός and tagged , , , . Bookmark the permalink. Post a comment or leave a trackback: URL για τράκμπακ.

Αφήστε σχόλιο

Your email is never published nor shared. Required fields are marked *

You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*
*

  • Λάβετε ενημερώσεις μέσω RSS

  • Λάβετε ενημερώσεις μέσω e-mail

    Εισάγετε το e-mail σας:

    Παρέχεται από το FeedBurner