繁体   English   中英

如何在raspec任务中获取实例变量以在rspec 3.4中进行测试?

[英]How to get at instance variable in rake task for testing in rspec 3.4?

所以我有一个耙任务:

task :some_task do
  # some stuff
  @myvar = 2
  SomeModel.my_method
end

我有rspec测试设置,这样我可以知道SomeModel是否调用了我的方法,但是如何检查实例变量@myvar是否设置为2? 我尝试将其移出任务块,但无济于事。 我将RSpec 3.4与Rails 4.2.x和Ruby 2.2.x一起使用。

SomeModel ,为@myvar实例变量添加一个attr_accessor

例如:

class SomeModel
    attr_accessor :myvar

    def my_method
        @myvar = 2
    end
end

现在您可以访问它

task :some_task do
  # some stuff
  # @myvar = 2

  SomeModel.myvar = 3
  SomeModel.my_method

  assert_match SomeModel.myvar, 2

end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM