Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.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 on rails 未定义的方法'rspec#u reset';使用rspec版本2.14_Ruby On Rails_Rspec_Mocking - Fatal编程技术网

Ruby on rails 未定义的方法'rspec#u reset';使用rspec版本2.14

Ruby on rails 未定义的方法'rspec#u reset';使用rspec版本2.14,ruby-on-rails,rspec,mocking,Ruby On Rails,Rspec,Mocking,我正在尝试用rspec版本2.14执行测试用例,我得到以下错误 undefined method `rspec_reset' for 我试图在课堂上使用rspec_重置。同样的测试用例也适用于rspec 2.13.1。那么,rspec_重置方法是否可能在2.13之后不可用 是的,在2.14中,rspec_reset不再像以前那样在所有对象上可用,如中所述 虽然我找不到关于它的任何文档,但现在似乎有一个RSpec类方法reset,它将对象作为参数,并将有效地“撤消”对该对象执行的任何RSpec操

我正在尝试用rspec版本2.14执行测试用例,我得到以下错误

undefined method `rspec_reset' for

我试图在课堂上使用rspec_重置。同样的测试用例也适用于rspec 2.13.1。那么,rspec_重置方法是否可能在2.13之后不可用

是的,在2.14中,
rspec_reset
不再像以前那样在所有对象上可用,如中所述

虽然我找不到关于它的任何文档,但现在似乎有一个
RSpec
类方法
reset
,它将对象作为参数,并将有效地“撤消”对该对象执行的任何RSpec操作


有一个RSpec“示例”,在该示例的描述中仍然使用
RSpec_reset
,但现在使用前面提到的
reset
方法进行重置。在本示例的早期版本中,重置是通过
rspec_reset

完成的,rspec 2.14.x中不存在
reset
方法。相反,它是在rspec mocks项目的spec\u helper.rb文件中定义的助手方法

module VerifyAndResetHelpers
  def verify(object)
    RSpec::Mocks.proxy_for(object).verify
  end

  def reset(object)
    RSpec::Mocks.proxy_for(object).reset
  end
end
您可以看到,此方法将重置操作委托给底层代理,而不是将其附加到相关对象的类定义上