Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何使用RSpec检查方法获得的参数?_Ruby_Unit Testing_Rspec - Fatal编程技术网

Ruby 如何使用RSpec检查方法获得的参数?

Ruby 如何使用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

假设我有一个叫做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 10
基本上,我想检查initialize是否会调用,并将正确的值传递给
do\u stuff

我认为您应该测试类的行为是否正确,而不是观察谁将什么传递给谁

我想,
do_stuff
方法应该会产生某种副作用。如果是的话,那么检查一下这种副作用是否是你所期望的。这样,您就可以自由地更改类的实际实现,而无需每次都重写规范