gpt4 book ai didi

ruby-on-rails - Minitest 和设置/拆卸 Hook

转载 作者:数据小太阳 更新时间:2023-10-29 07:37:18 27 4
gpt4 key购买 nike

我在 test_helper

中有以下代码
require "minitest/spec"
require "minitest/autorun"
require "database_cleaner"

class ActiveSupport::TestCase
DatabaseCleaner.strategy = :deletion

include Minitest::Spec::DSL

setup { DatabaseCleaner.start }
teardown { DatabaseCleaner.clean }
end

如果我写这样一个测试

class MyTest < ActiveSupport::TestCase
test 'test' do
#some code
end
end

执行安装和拆卸

但是如果我这样写测试

class MyTest < ActiveSupport::TestCase
describe 'some test'
before do
@user = FactoryBot.create(:user)
end

it 'first test' do
# some code
end

it 'second test' do
# some code
end
end
end

不执行设置和拆卸。为什么?我可以修复它吗?

最佳答案

尝试将以下内容添加到您的 test_helper.rb:

class Minitest::Spec
before :each do
DatabaseCleaner.start
end

after :each do
DatabaseCleaner.clean
end
end

或者,如果您正在使用 minitest-around gem:

class Minitest::Spec
around do |tests|
DatabaseCleaner.cleaning(&tests)
end
end

这里重要的是使用 Minitest::Spec 类而不是 ActiveSupport::TestCase

参见 database cleaner docs了解更多信息。

关于ruby-on-rails - Minitest 和设置/拆卸 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54434037/

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