Rspec 可以使用默认属性值创建模拟

Rspec 可以使用默认属性值创建模拟,rspec,Rspec,可以使用默认属性值创建模拟吗?我不确定这个问题的真正含义。两种可能性: 如果一个对象t=Movie.find(10),然后如果我说m=mock(t),m会自动继承t的所有属性值吗 有没有一种方法可以创建一个具有默认属性的模拟对象,这样我们每次使用它时都可以克隆它,而无需通过系列存根来初始化这些属性 谢谢你的帮助。说到1)它没有意义。如果在测试中,您可以通过Movie.find(10)访问真实对象,则不必使用模拟。假设您使用的是rspec_mocks,并且您要编写一个断言,声明调用了特定的方法,您

可以使用默认属性值创建模拟吗?我不确定这个问题的真正含义。两种可能性:

  • 如果一个对象
    t=Movie.find(10)
    ,然后如果我说
    m=mock(t)
    ,m会自动继承t的所有属性值吗

  • 有没有一种方法可以创建一个具有默认属性的模拟对象,这样我们每次使用它时都可以克隆它,而无需通过系列存根来初始化这些属性

  • 谢谢你的帮助。

    说到1)它没有意义。如果在测试中,您可以通过
    Movie.find(10)
    访问真实对象,则不必使用模拟。假设您使用的是
    rspec_mocks
    ,并且您要编写一个断言,声明调用了特定的方法,您可以简单地编写:

    t = Movie.find(10)
    t.should_receive(:foo)
    
    另外,请查看以下内容: 还有这个

    用于模拟AR/Mongoid和规范中的其他模型的非常有用的帮助程序

    除了
    factory\u girl
    之外,您还可以在此模拟上设置属性,例如
    movie=mock\u模型(movie,FactoryGirl.attributes\u for(:move))