Γρήγορη αναφορά

Συνοπτικός οδηγός Machinist

Ένας γρήγορος οδηγός αναφοράς για το Machinist: βιβλιοθήκη αντικατάστασης fixtures στη Ruby, προσχέδια (blueprints) και συσχετίσεις μοντέλων.

· Δημοσιεύτηκε

[!NOTE] Αρχειοθετημένο έργο: Το Machinist έχει καταργηθεί από το 2013. Για σύγχρονα fixtures στο Ruby on Rails, εξετάστε το FactoryBot.

Το Machinist είναι μια βιβλιοθήκη αντικατάστασης fixtures για τη Ruby που επιτρέπει τον καθορισμό προσχεδίων (blueprints) μοντέλων για άμεση δημιουργία έγκυρων δοκιμαστικών στιγμιοτύπων.

Εγκατάσταση

Προσθήκη στο Gemfile σας:

group :test do
  gem 'machinist', '>= 2.0.0.beta2'
end

Εκτελέστε το bundle και τη γεννήτρια εγκατάστασης:

bundle install
rails generate machinist:install

Ορισμός Προσχεδίων (Blueprints)

Ορισμός προεπιλεγμένων ιδιοτήτων χρησιμοποιώντας σειριακούς αριθμούς (sn) για εγγύηση μοναδικότητας:

User.blueprint do
  name  { "User #{sn}" }
  email { "user-#{sn}@example.com" }
end

# Επώνυμο προσχέδιο παραλλαγής
User.blueprint(:admin) do
  name  { "Admin #{sn}" }
  admin { true }
end

Δημιουργία αντικειμένων σε δοκιμές

# Δημιουργία στη μνήμη χωρίς αποθήκευση
user = User.make

# Δημιουργία και αποθήκευση στη βάση δεδομένων
user = User.make!

# Παράκαμψη γνωρισμάτων προσχεδίου
user = User.make!(name: "David")

# Χρήση επώνυμου προσχεδίου
admin = User.make!(:admin)

Συσχετίσεις (Associations)

Post.blueprint do
  title  { "Post #{sn}" }
  author { User.make }       # Συσχέτιση Belongs-to
  comments(3)                # Συσχέτιση Has-many (παράγει 3 στοιχεία)
  author                     # Αυτόματος εντοπισμός και κλήση του User.blueprint
end

Πηγές & Αναφορές

Σχετικά θέματα