gpt4 book ai didi

ruby-on-rails - 如何使用DatabaseCleaner[:active_record].策略=:与 Selenium 的交易

转载 作者:行者123 更新时间:2023-12-02 10:24:57 25 4
gpt4 key购买 nike

我已经编写了 cucumber 测试用例,现在我需要回滚数据库而不是现有数据库。我已将 selenium web-driver 与 capybara 2.0.2 一起使用。当我尝试过:

DatabaseCleaner[:active_record].strategy = :truncation

它删除了我的mysql表的所有记录。后来我改变了这一点:

 DatabaseCleaner[:active_record].strategy = :transaction

但这不是滚动数据库。

我的数据库.rb是:

require 'active_record'
require 'database_cleaner'
require 'database_cleaner/cucumber'

ActiveRecord::Base.establish_connection(
:adapter => 'mysql2',
:database => 'aq_test',
:username => 'root',
:password => 'manager' )

class ActiveRecord::Base
mattr_accessor :shared_connection
@@shared_connection = nil

def self.connection
@@shared_connection || retrieve_connection
end
end
ActiveRecord::Base.shared_connection = ActiveRecord::Base.connection
DatabaseCleaner[:active_record].strategy = :transaction

但这也不是回滚数据库注意:我只想回滚测试用例运行的最后一个事务

对不起我的英语

最佳答案

database_cleaner github 页面显示将该代码放入您的 features/support/database_cleaner.rb 文件中:

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 - 如何使用DatabaseCleaner[:active_record].策略=:与 Selenium 的交易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14686499/

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