gpt4 book ai didi

ruby-on-rails - Ruby on Rails : Cucumber: how to reset the db after each scenario?

转载 作者:行者123 更新时间:2023-12-04 12:25:18 25 4
gpt4 key购买 nike

所以我在我的测试环境中

现在,在终端中, rake db:test:prepare 清除了数据库......但当我从代码运行它时不会

我在 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 db 中

这是在我的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

关于ruby-on-rails - Ruby on Rails : Cucumber: how to reset the db after each scenario?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3049800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com