Pisząc testy RSpec, piszę dużo kodu, który wygląda tak, aby upewnić się, że metoda została wywołana podczas wykonywania testu (ze względu na argument, powiedzmy, że tak naprawdę nie mogę przesłuchać stanu obiektu po wywołaniu, ponieważ operacja, którą wykonuje metoda, nie jest łatwa do zobaczenia).
describe "#foo"
it "should call 'bar' with appropriate arguments" do
called_bar = false
subject.stub(:bar).with("an argument I want") { called_bar = true }
subject.foo
expect(called_bar).to be_true
end
end
Chcę wiedzieć: czy jest dostępna ładniejsza składnia niż ta? Czy brakuje mi jakiejś fajnej niesamowitości RSpec, która zredukowałaby powyższy kod do kilku wierszy? should_receive
wydaje się, że powinien to zrobić, ale czytając dalej, wydaje się, że to nie jest dokładnie to, co robi.
should_receive
, więc pomyślałem, że to pytanie pomoże.