Ruby 如何使用RSpec检查方法获得的参数?
假设我有一个叫做MyClass的类,基本上我想做这样的事情: class MyClass def initialize(a) do_stuff a, 4, 11 end def do_stuff(a,b,c) # ... end end # rspec below MyClass.any_instance.should_receive(:do_stuff).with_the_values(10, anything, anything) MyClass.new 10 类MyClass def初始化(a) 你要填a,4,11吗 结束 def do_材料(a、b、c) # ... 结束 结束 #rspec如下 MyClass.any_实例。应_接收(:do_stuff)。使用_值(10, 任何事,任何事) MyClass.new 10Ruby 如何使用RSpec检查方法获得的参数?,ruby,unit-testing,rspec,Ruby,Unit Testing,Rspec,假设我有一个叫做MyClass的类,基本上我想做这样的事情: class MyClass def initialize(a) do_stuff a, 4, 11 end def do_stuff(a,b,c) # ... end end # rspec below MyClass.any_instance.should_receive(:do_stuff).with_the_values(10, anything, any
基本上,我想检查initialize是否会调用,并将正确的值传递给
do\u stuff
我认为您应该测试类的行为是否正确,而不是观察谁将什么传递给谁
我想,do_stuff
方法应该会产生某种副作用。如果是的话,那么检查一下这种副作用是否是你所期望的。这样,您就可以自由地更改类的实际实现,而无需每次都重写规范