2014-06-11 24 views
15

Ich habe meine Tests auf Rspec3 (was für ein Aufwand), entfernen alle meine "shoulds", aber ich kann nicht herausfinden, wie Upgrade "view.stub" aus meiner Sicht Tests.Rspec 3 Upgrade Probleme mit view.stub (Rails)

ich ersinnen bin mit

Beispiel:

view.stub(:current_user) { nil } 

render 

expect(rendered).to .... etc 

Das gibt mir eine Warnung deprecation:

Mit stub von rspec-Mocks' alten :should Syntax, ohne explizit ermöglicht die Syntax veraltet. Verwenden Sie die neue :expect Syntax oder aktivieren Sie stattdessen explizit :should. Called from ....

Ich kann nicht herausfinden, wie man auf die neue "verbesserte" Syntax upgraden kann. Dank

+0

Übrigens gibt es [ein Tool] (https://github.com/yujinakayama/transpec), um automatisch in RSpec 3 Syntax zu konvertieren. – asymmetric

Antwort

35
allow(view).to receive_messages(:current_user => nil) 

Notable Changes in RSpec 3

+1

In der Tat ist die ablehnen Nachricht völlig verwirrend. Gehen Sie zum Abschnitt [RSpec Mocks] (http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#rspecmocks) in den bemerkenswerten Änderungen in RSpec 3. – Matt

2

Sie können auch verwenden:

allow(view).to receive(:current_user).and_return(nil) 

Ich persönlich finde es besser lesbar. Weitere Informationen finden Sie unter docs