ruby-on-rails - 为什么 Rails 4 测试不重置数据库

标签 ruby-on-rails ruby testing minitest

我正在使用 Ruby 2.3.0 和 Rails 4.2.7。 我也在使用 minitest ( ActionController::TestCase ) 和这些 gems

gem 'capybara', '~>2.7.1'
gem 'poltergeist', '~>1.9.0'
gem 'minitest-rails-capybara', '~>2.1.2'

我的印象是每次调用“rake test”时,数据库都会被删除并使用 schema.rb 创建(就像我所有其他项目中发生的那样)

但是对于这个项目,它不会这样做(如果我手动更改测试数据库上的某些内容,它会在测试之间保持这种状态)

这正常吗?可能是什么原因?

最佳答案

不,Rails(或 RSpec 或 Minitest)在运行测试之前不会删除数据库。

也许您使用了像 database_cleaner 这样的 gem在其他项目之前?

关于ruby-on-rails - 为什么 Rails 4 测试不重置数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40843163/

相关文章:

ruby-on-rails - 名称为 "dot"的 Rails 强参数

ruby-on-rails - 如何更改 Ruby on Rails 中的部分架构?

mysql - 简单的 Rails/MySQL 查询生成一个奇怪的结果

ruby - 创建变量时使用 Ruby 的 `or` 关键字

ruby - ruby 中的 "set"关键字是什么意思?

ruby-on-rails - 生产中的首选日志级别

testing - 找不到限定词 : How to solve Kotlin reflection is not available when creating modules with Koin test? 的定义

mysql - 将 UTF8 数据从 Rails 应用程序编码到 Mysql 时出现问题

javascript - 如何将 mocha 测试框架与 node.js 和sails.js 一起使用

testing - 使用带有 actix-web 的工作 POST 路由的测试超时