如何创建假的Virtus模型返回对象?

时间:2014-03-24 21:25:31

标签: ruby-on-rails ruby

我正在使用virtus gem而且我有疑问:

我有一个返回virtus对象的方法。但我想对调用类进行单元测试。

为了做到这一点,我想假装它的回报。

通常我会使用工厂女孩来制作虚假物品,但这对于非常有效。

你如何建议我这样做?

由于

1 个答案:

答案 0 :(得分:0)

我建议切换到fabrication,它实现工厂模式,绝对可以启动任何东西;))

如果它不是一个选项,您可以定义将为您创建对象的测试/规范帮助程序。在这种情况下,您可能希望使用faker

def create_my_model(opts = {})
  MyModel.new({
    :foo => opts.fetch(:foo) { "Dynamic Default Foo #{rand}" },
    :bar => opts.fetch(:bar, "Static Default Baz")
  })
end