模型上的集成测试类名称冲突

时间:2014-02-25 10:22:21

标签: ruby-on-rails integration-testing factory-bot

在我的应用程序中有一个名为App的模型。我正在尝试使用ActionDispatch::IntegrationTest测试我的应用程序。

要为测试创建数据,我使用FactoryGirl,如下所示:

FactoryGirl.define do

  factory :app, class: App do
    name "a_test"
    about "magic_app"
    app_key "1213"
  end

end

然后在我的测试中,我实例化了一个这样的应用程序:

setup do
  @app = create(:app)
end

现在当我运行测试时出现错误,因为已经有一个名为App的类:

NoMethodError: undefined method 'call' for #<App:0x00000004c985e8>

我认为命名空间可以解决这个问题 - 重命名模型不是一种选择 - 但我不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

您应该重命名实例变量,例如:

setup do
  @my_app = create(:app)
end