On 8/13/07, Shaker <[EMAIL PROTECTED]> wrote: > > Hello, Aslak: > I know we could do template.expect_render somehow, although I haven't > tried that out. But the rspec developer
Aslak is one of the rspec developers. :) > said that we could now actually use > controller.expect_render in controller specs, which caused me confused. You > may want to have a look at this: > http://rspec.rubyforge.org/documentation/rails/writing/controllers.html > writing controller spec > Thanks, regards. > > aslak hellesoy wrote: > > > > On 8/13/07, Shaker <[EMAIL PROTECTED]> wrote: > >> > >> Hi: > >> I am a rspec beginner. I have scratched my head for the whole > >> afternoon, > >> trying to figure out a way of writing render expectation in controller > >> spec. > >> However, I failed. It kept telling me that the 'expect_render' was an > >> undefined method. I have installed rspec 1.0.8 and rspec_on_rails as > >> well. > >> Below is the controller to be tested. > >> > >> Controller > >> def index > >> pre = Array.new > >> render :partial=>'index', :layout=>false, :locals=>{:pre=>pre} > >> end > >> > >> My controller spec > >> before do > >> @controller = MyController.new > >> end > >> it "should render the index partial" do > >> @controller.expect_render(:partial=>'index', :layout=>false) #I > >> don't > >> know how to expect the :locals > >> end Don't create an instance of the controller directly. Use either: describe MyController do ... or describe "MyController" do controller_name :my ... RSpec mixes some methods into the controller in these cases (including expect_render) but does not in the case you describe because it initializes the controller directly. Cheers, David > >> > >> As I mentioned, the spec failed , saying that "Undefined method > >> 'expect_render' ". There might be some mistakes in my "before" block. Do > >> I > >> need to mock the controller or something else? Anyway, do any one know > >> how > >> to fix the problem? It will be even better if you guys could show me a > >> piece > >> of example code. > >> Thanks!! > > > > Have you looked here? > > > > http://rspec.rubyforge.org/documentation/rails/writing/views.html > > > > (you must use template.expect_render) > > Or perhaps you're looking for response.should > > render_template("path/to/template/for/action") > > > > HTH, > > Aslak > > > >> -- > >> View this message in context: > >> http://www.nabble.com/How-to-use-expect_render--tf4259590.html#a12121894 > >> Sent from the rspec-users mailing list archive at Nabble.com. > >> > >> _______________________________________________ > >> rspec-users mailing list > >> [email protected] > >> http://rubyforge.org/mailman/listinfo/rspec-users > >> > > _______________________________________________ > > rspec-users mailing list > > [email protected] > > http://rubyforge.org/mailman/listinfo/rspec-users > > > > > > -- > View this message in context: > http://www.nabble.com/How-to-use-expect_render--tf4259590.html#a12122511 > Sent from the rspec-users mailing list archive at Nabble.com. > > _______________________________________________ > rspec-users mailing list > [email protected] > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/rspec-users
