在更新生产之前,我需要确保使用种子执行的所有操作都能正常工作。
如何使用RSpec测试seeds.rb?
答案 0 :(得分:0)
要在空数据库上首先运行种子,以正确地提供正确的状态。如果需要更改初始状态(例如域表),则必须相应地调整种子,以便它可以添加不存在的元素或更改现有元素。实现这一目标的一个好方法是执行以下操作:
admin = Operator.find_or_create_by_login!(:admin) do |adm|
adm.name = 'admin'
adm.is_administrator = true
end
在运行测试之前,我们还会加载种子,因此很容易创建一个规范来验证所需的数据是否存在(如果您不信任它)。
如果您需要操作现有数据,首选方法是使用迁移。我通常不会为迁移编写规范,而是在我的开发数据库和生产数据库的副本上测试它们(在实际生产之前运行它之前)。
希望这有帮助。