机械师+ RSpec和保留字

时间:2011-08-23 07:52:21

标签: ruby-on-rails ruby rspec machinist

我有一个蓝图:

Model.blueprint(:something) do
  name "Some name"
  context "some context"
end

“context”是Model的一个属性,但它也是RSpec的保留字。当我尝试制作和对象时,我在“上下文”行上获得了ArgumentError。

有任何想法如何克服这种情况?

1 个答案:

答案 0 :(得分:0)

无法使用Machinist 2.0.0.beta2复制此内容。

机械师通过覆盖method_missing?然后根据这些参数分配属性来工作。如果rspec以某种方式为Machinist的Lathe对象分配context方法,那么将在method_missing?之前调用该方法。如果您仍然遇到此问题,可以在评估属性之前尝试使用remove_method :context

Model.blueprint(:something) do
  remove_method :context
  name "Some name"
  context "some context"
  alias_method :context, :describe
end

我不知道这是否有用,因为我无法在本地复制它,但我会试一试。