gpt4 book ai didi

ruby-on-rails - factory_girl + rspec 似乎不会在每个示例后回滚更改

转载 作者:数据小太阳 更新时间:2023-10-29 06:32:45 28 4
gpt4 key购买 nike

类似于此处描述的问题: http://rpheath.com/posts/411-how-to-use-factory-girl-with-rspec

简而言之(缩短的代码):

规范助手:

config.use_transactional_fixtures = true
config.use_instantiated_fixtures = false

工厂.rb:

Factory.define :state do
f.name "NY"
end

在我的规范中

before(:each) do 
@static_model = Factory(:state) # with validate uniqueness of state name
end

错误:

duplicate entry name "NY" etc.


问题:rspec 不应该在每个规范示例之前清除数据库,从而不会引发重复输入错误吗?

最佳答案

我认为不对的事情:

  • 您是否使用 rake spec 来运行您的测试套件:从头开始构建数据库(以确保没有任何问题)
  • 您是否在任何地方使用 before (:all) ?因为无论您在 before :all 中创建什么,都应该在 after :all 中再次删除,否则它会继续存在。

关于ruby-on-rails - factory_girl + rspec 似乎不会在每个示例后回滚更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3333743/

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