论点数量错误的捏造



我正在使用Mongoid。我有一个对象:

class Employee
  include Mongoid::Document
    field :name_first,      type: String
    field :name_last,       type: String
    field   :name_other,        type: Array,    default: []
    field :title,                   type: String
    field :education,           type: Hash,     default: {}
    field :languages,           type: Array,    default: []
    field :phone,                   type: Hash,     default: {}
    field :address,             type: Hash,     default: {}
    field :email,                   type: Array,    default: []
    field :url,                     type: Array,    default: []
    field :history,             type: Array,    default: []
    field :profile,             type: String
    field :social_media,    type: Hash,     default: {}
    field :last_contact,    type: Time
    field :signed_up,           type: Date
    belongs_to :user
    belongs_to :practice
end

而且,我正在尝试使用捏造,但遇到了问题。宝石安装良好。在/规范/制造商/雇员_制造商.rb中,我有

Fabricator :employee do
end

在my_controller_spec.rb中,我有:

describe CasesController do
    describe "viewing cases" do
    before(:each) do
        Fabricate(:employee)
    end
    it "allows viewing the cases index page" do
        get 'index'
        response.should_not be_success
    end
    end
end

当我在终端中运行"rspec-spec"时,我得到:

Failures:
  1) CasesController viewing cases allows viewing the cases index page
     Failure/Error: Fabricate(:employee)
     ArgumentError:
       wrong number of arguments (2 for 1)

这是怎么回事?我试过各种各样的排列,其中一些会出现其他错误,但没有任何结果。在不调用Fabricate(:employee)行的情况下,它按预期运行,但到目前为止只有空测试。。。

我在使用活动记录时遇到了同样的问题。

我发现版本2.6的Fabricationgem将第二个属性传递给active_record/base.rb初始值设定项:{:without_protection=>true}

这个变化似乎发生在Rails 3.2中(我使用的是3.0)。新参数在2.0.2版本中开始由Fabrication gem传递,所以我已经将gem文件中的Fabrication gem降级到2.0.1,直到我们将Rails升级到3.2

因此,基本上,我的建议是要么将Fabricationgem降级到2.0.1,要么将Rails升级到3.2

相关内容

  • 没有找到相关文章

最新更新