我将 FactoryGirl 用于我的测试环境的装置,并使用 Devise 进行身份验证。到目前为止,我们一直依赖 Devise 提供的 password= 方法来初始化用户设备。这使我们可以轻松地为用户设置密码。
现在,我需要在不重复使用 password= 函数的情况下初始化密码。
我在两个应用程序上共享相同的模型,第二个是 Sinatra 应用程序,它将具有 0 身份验证(但授权)。用户将在那里,我想访问它并使用它进行测试,而不依赖于设计逻辑(这是第一个应用程序 Rails 应用程序的依赖项)。到目前为止,一切都很好。
问题是,模型规格也必须在第二个应用程序中运行。如果没有正确初始化密码,我可能会在不久的将来遇到一个绊脚石。没关系,我可能永远不需要第二个应用程序中的密码,但是需要用户的规范必须运行(并且用户必须有密码)。是否可以在不依赖设计逻辑(和密码=)的情况下为测试用户定义有效密码?
而且我不想用一些随机字符串填充 encrypted_password 字段,这就是我在第二个应用程序工厂中已经在做的事情,但我希望在两个应用程序中只有一个工厂定义,因此未加密的密码必须是' qwerty' 在 Rails 应用程序上下文中可读且有效。