Ich habe ein BenutzermodellPrüfung: reject_if in ANAF
class User < ActiveRecord::Base
has_many :languages, :dependent => :destroy
accepts_nested_attributes_for :languages, :reject_if => lambda { |l| l[:name].blank? }
end
I reject_if Teil mit RSpec 2.0.0 testen möchten. Zur Zeit habe ich zwei einfache Testfälle dafür
Allerdings bin ich ziemlich neu zu testen und es sieht wirklich komisch imho. Ich frage mich, ob dies ein richtiger Weg ist, reject_if zu testen? Und gibt es einen schöneren Weg, das zu tun?
Ihre Vorgehensweise ist klar und ich habe sie upvolotiert. Dein Beispiel hängt nicht von der Ansicht und Form ab und es klingt gut => mehr Isolation. Ich bin mir jedoch nicht sicher, ob dies der richtige Weg ist, da ich prüfen möchte, ob der Sprachdatensatz nicht gespeichert wird, wenn ein Benutzer ein Formular mit einem leeren Feld für den Sprachnamen einreicht. Vielleicht ist dies eine andere Frage, aber was ist eine gute Strategie, die beim Komponententest zu befolgen ist - so weit wie möglich von allem isolieren oder einen echten Anwendungsworkflow simulieren? Wenn die Antwort die letzte Option ist, ist mein Beispiel gültig und korrekt? –
@Tadas: Es gab nichts über eine Ansicht oder eine Form in der ursprünglichen Frage, so dass ich in dieser Hinsicht mein Bestes gegeben habe. Wenn Sie versuchen, die Ansicht/Form auf diesem zu testen, dann würde ich empfehlen, mit etwas wie Gurke oder Steak für Full-Stack-Integration Tests gehen. –