Chcę odkryć z brakiem BDD: dołącz parametry dla metody ActiveRecord :: Base.find. Więc mój pomysł jest mieć w specyfikacji coś takiego:Oczekuj wywołania metody i proxy na oryginalną metodę z RSpec
ActiveRecord::Base.should_receive(:find).once.and_proxy_to_original_method
parent = SomeClass.find 34
parent.child.should be_loaded
parent.other_children.should be_loaded
Jeśli #child lub #other_children stowarzyszenia nie są chętni załadowany, oczekiwanie powinien zawieść coś jak: „Oczekiwany ActiveRecord :: Base.find powoływać raz, ale został wywołany jeszcze 2 razy z następującymi argumentami: 1. ...; 2. ... "
Czy ktoś wie, czy istnieje jakiś mechanizm dopasowujący, który działa w ten sposób lub jak to zrobić.
Dzięki
Mam ten sam problem. Naprawdę szkoda, że nie było. Przydatne do testowania, jeśli jest prawidłowe? został wywołany na modelu zależnym lub coś, aby zapewnić, że hierarchia jest sprawdzana/zapisywana. –
możliwy duplikat [Czy istnieje mniej uciążliwa alternatywa dla \ "powinien \ _wyrażać \"? Rspec \ n "(http://stackoverflow.com/questions/12159536/is-there-a-less-intrusive-alternative-to-rspecs -może-otrzymać) – lulalala