这是我的 env.rb 需要 'cucumber/rails' ActionController::Base.allow_rescue = false Cucumber::Rails::World.use_transactional_fixtures = false
运行 cucumber 后,它从数据库中清理数据。如何防止数据擦除
这是我的 env.rb 需要 'cucumber/rails' ActionController::Base.allow_rescue = false Cucumber::Rails::World.use_transactional_fixtures = false
运行 cucumber 后,它从数据库中清理数据。如何防止数据擦除
您希望黄瓜场景在某种数据库清理的情况下运行,否则每个场景都依赖于先前运行的场景,并且您的场景将开始以各种难以调试的奇怪方式失败。
如果您正在编写依赖于先前场景的场景,您应该立即停止。如果您尝试为测试预填充数据,请尝试在 Given 中执行此操作,例如
Given the database is pre-populated
如果这太慢了,你有几个选择
改进预填充数据的方式,例如加载已保存数据库的 SQL 转储
编写不太依赖预填充数据的场景
编写更少的依赖于预填充数据的场景(也许您可以对较低级别的组件进行单元测试)。
它是所有自动化测试的基本部分,您从一个稳定、一致、可重复的起点开始每个测试/场景。