Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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 如何使用RR创建和分配存根对象?_Ruby On Rails_Ruby_Testing_Rr - Fatal编程技术网

Ruby on rails 如何使用RR创建和分配存根对象?

Ruby on rails 如何使用RR创建和分配存根对象?,ruby-on-rails,ruby,testing,rr,Ruby On Rails,Ruby,Testing,Rr,我是第一次尝试RR-double框架,但在如何转换现有的RSpec存根上有点纠结。我知道如何在文档中使用双图来获得与RSpec的stub_链相同的结果,但是如何创建一个只响应已定义方法的stub/mock 例如,在RSpec中,我可以执行admin=stub(admin?:true),然后使用admin。我是否可以在RR中执行此操作,而不必首先定义admin管理=User.new;存根(管理员)。管理员?{true} 我可以做一些事情,比如admin=stub;存根(管理员)。管理员?{true

我是第一次尝试RR-double框架,但在如何转换现有的RSpec存根上有点纠结。我知道如何在文档中使用双图来获得与RSpec的stub_链相同的结果,但是如何创建一个只响应已定义方法的stub/mock

例如,在RSpec中,我可以执行
admin=stub(admin?:true)
,然后使用admin。我是否可以在RR中执行此操作,而不必首先定义admin<代码>管理=User.new;存根(管理员)。管理员?{true}

我可以做一些事情,比如
admin=stub;存根(管理员)。管理员?{true}
,但这个双存根看起来很奇怪

admin = stub(User.new).admin? { true }

似乎有你想要的就足够了。

有。然而,我正在编写的测试并不包括我所有的Rails模型,所以像User这样的任何东西都必须被重新定义为空类,这样我才能做到这一点。有没有办法放弃用户。新件?我不在乎存根是什么实例,只要它响应admin?在对象上执行它:
admin=stub(Object.new).admin?{true}