ruby-on-rails – Ruby on Rails:黄瓜:如何在每个场景后重置数
发布时间:2020-12-16 19:04:56 所属栏目:百科 来源:网络整理
导读:所以我在我的测试环境中 现在,在终端,rake db:test:prepare清除db …但不是当我从代码中运行它时 我在features / support / env.rb中有这个: Before do task :build_all do [ :debug,:release ].each do |t| $build_type = t Rake::Task["db:test:prepare
所以我在我的测试环境中
现在,在终端,rake db:test:prepare清除db …但不是当我从代码中运行它时 我在features / support / env.rb中有这个: Before do task :build_all do [ :debug,:release ].each do |t| $build_type = t Rake::Task["db:test:prepare"].reenable Rake::Task["db:test:prepare"].invoke end end end 但是当我的测试运行完毕后,我的数据仍保留在project_test数据库中 这是在我的database.yml中 test: adapter: mysql encoding: utf8 database: projectname_test username: root password: 我也试过了 db:test:purge 和 db:test:reset 我知道它正在使用我的测试数据库,因为我检查了mySQLWorkbench,它将数据插入到表中……但是在完成时不会删除数据(我必须手动删除它). 解决方法
你应该用
begin require 'database_cleaner' require 'database_cleaner/cucumber' DatabaseCleaner.strategy = :truncation rescue NameError raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it." end Before do DatabaseCleaner.start end After do |scenario| DatabaseCleaner.clean end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |