Ruby on rails 3 如何在下面的代码中为流程方法编写rspec?
基本上,我想确保应该从process方法调用方法1和方法2Ruby on rails 3 如何在下面的代码中为流程方法编写rspec?,ruby-on-rails-3,rspec,Ruby On Rails 3,Rspec,基本上,我想确保应该从process方法调用方法1和方法2 def process begin method_1 if some_condition method_2 if some_condition self.update_attribute(:status,DONE) rescue=>e self.update_attribute(:status,ERR
def process
begin
method_1 if some_condition
method_2 if some_condition
self.update_attribute(:status,DONE)
rescue=>e
self.update_attribute(:status,ERROR)
p e
end
end
def method_1
#some code
end
def method_2
#some code
end
试试这个:
it "should call #method_1" do
YourClass.should_receive(:method_1)
YourClass.process
end
it "should call #method_2" do
YourClass.should_receive(:method_2)
YourClass.process
end
我假设这些是类方法
如果这些是实例方法,您可以执行YourClass.any\u instance.when\u receive(…)
或your\u instance.when\u receive(…)
有关更多信息,请参阅
编辑:
should\u receive
也将存根该方法。这将取消存根并调用方法:
YourClass.should_receive(:method_2).and_call_original