Hi The 'loadavg' method is an instance method of 'whm', so the test should be:
@whm = mock_model(Whm::Client) Whm::Client.stub!(:new).and_return(@whm) # make the new method to return a mock object @whm.stub!(:loadavg).and_return(3) # 3 is the dummy loadavg, maybe you can change it in something more meaningfull For now, there is no real reason to put this into the test itself. I think I would put this code in the before part. Regards Ivo Op 19-apr-08, om 08:23 heeft Jamie D het volgende geschreven: > Hi, > > I am trying to stub a class in my controller and I can't get it to > work, the controller code is: > > def show > @server = Server.find(params[:id]) > whm = Whm::Client.new @server > @server_load = whm.loadavg > end > > and my test code: > > before(:each) do > @server = mock_model(Server) > Server.stub!(:find).and_return(@server) > end > > def do_get > get :show, :id => "1" > end > > it "should be successful" do > Whm::Client.stub!(:new) > Whm::Client.stub!(:loadavg) > do_get > response.should be_success > end > > After running my tests I get a failure message: > > 'ServersController handling GET /servers/1 should be successful' > FAILED > expected success? to return true, got false > ./spec/controllers/servers_controller_spec.rb:63: > > I'm not really sure how to stub this kind of class call. > > Thanks > Jamie > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users