2012-03-02 35 views
0

我正在尝试第一次使用RR双重框架,并且在如何转换现有的RSpec存根时有点困难。我看到如何在文档中使用双重图形来获得与RSpec stub_chain相同的结果,但是如何创建一个只响应已定义方法的存根/模拟呢?如何使用RR创建和分配存根对象?

例如,在RSpec中,我可以做admin = stub(admin?: true),然后使用管理员。我可以在RR中做到这一点,而不必先定义管理员? admin = User.new; stub(admin).admin? { true }

我可以做些类似admin = stub; stub(admin).admin? { true }的事情,但是这个双存根似乎很奇怪。

回答

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

似乎已经足够让你想要了。

+0

它的确如此。但是,我正在编写不包含所有Rails模型的测试,因此,像User这样的任何内容都必须重新定义为空类,以便我执行此操作。有没有办法放弃User.new作品?我不在乎存根是什么,只要它响应管理员?与真实。 – 2012-03-02 12:50:32

+0

对象如此做:'admin = stub(Object.new).admin? {true}' – shingara 2012-03-02 15:03:39