2

我正在尝试使用具有有效 current_user 的 Capybara/RSpec 创建一个集成测试(使用 Warden.test_mode!技巧),并且我还通过在测试中执行此操作创建了一个有效的 current_tenant:

ActsAsTenant.current_tenant = Account.first

运行测试时,会出现“nil:NilClass 的未定义方法”错误,这是未设置 current_tenant 的特征。我已经验证 Account.first 确实有我所期望的。

可能是什么问题,我该如何解决?

4

2 回答 2

0

您可能需要创建Account. 如果您使用的是 FactoryBot,则可能如下所示:

ActsAsTenant.current_tenant = FactoryBot.create :account

您也可以考虑使用:

ActsAsTenant.without_tenant do
  # more testy things
end
于 2021-08-20T04:10:28.387 回答
0

您可以在此处查看 gem 'act_as_tent' 文档 https://github.com/ErwinM/acts_as_tenant#testing

于 2019-05-27T08:20:50.840 回答