gpt4 book ai didi

ruby-on-rails-3 - 在 Rails 3 上使用 Rspec 和 MongoID 清除或重置测试数据库

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

当我运行 rspec 测试时,由于 mongodb 数据库中的数据陈旧,许多测试失败。 AFAIK 使用干净的数据库进行测试要好得多。

使用 mysql,我可以运行 rake db:test:prepare来清理数据库。如何在每次测试之前清理和/或重新播种数据库?

最佳答案

其他答案都不适合我Mongoid 3.0 .我使用了@Batkins 的答案,这样修改

RSpec.configure do |config|

# Clean/Reset Mongoid DB prior to running each test.
config.before(:each) do
Mongoid::Sessions.default.collections.select {|c| c.name !~ /system/ }.each(&:drop)
end
end

或者,如果您想清空集合但不想删除它(也许您有索引或其他东西),请执行此操作
Mongoid::Sessions.default.collections.select {|c| c.name !~ /system/}.each {|c| c.find.remove_all}

关于ruby-on-rails-3 - 在 Rails 3 上使用 Rspec 和 MongoID 清除或重置测试数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6583618/

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