【问题标题】:Machinist + RSpec and reserved words机械师 + RSpec 和保留字
【发布时间】:2011-08-23 07:52:21
【问题描述】:

我有一个蓝图:

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

“context”是Model的属性,也是RSpec的保留字。当我尝试制作和反对时,我在“上下文”行得到 ArgumentError。

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

【问题讨论】:

    标签: ruby-on-rails ruby rspec machinist


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多