ruby-on-rails-3 - rails 3 单元测试 - 定义将在每次测试之前运行的通用设置方法

标签 ruby-on-rails-3 unit-testing

我想在我运行的每个测试之前清除我的 db,我应该将实现此行为的脚本放在哪里?

最佳答案

虽然我无法想象你为什么要这样做,也许你可以试试这个:https://github.com/bmabey/database_cleaner

在任何情况下,在每次测试之前可以调用的语句应该放在对设置的调用中:

setup do
    # statements executed on start of every test
end

更新:进一步解释:

你可以做的一件事是在你的 test_helper.rb 文件中:

class ActiveSupport::TestCase

  ### Common setup for all tests ###
  setup do
      # write code to clean up your database here
  end

end

然后在您的实际测试文件中,其中您有从 ActiveSupport::TestCase 派生的测试类,您只需要 require 'test_helper'

这样,在您运行的每个测试之前,都会执行设置代码。

这是否更能解释我在第一个答案中所写的内容?

关于ruby-on-rails-3 - rails 3 单元测试 - 定义将在每次测试之前运行的通用设置方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10249547/

相关文章:

ruby-on-rails - 如何在 Rails、表单构建器和错误消息中本地化日期格式?

java - 如何在单元测试上下文中覆盖 Play 框架 Controller ?

asp.net-mvc - ASP.Net RC1 中 TryUpdateModel 的模拟要求

Android Studio 简单单元测试不起作用

android - 如何在单元测试中初始化 ThreeTen Android backport

ruby-on-rails-3 - 在 authbind 下运行 trinidad 服务器(用于 Rails)?

轨道上的 ruby 。调度.fcgi 。 dependencies.rb :251:in `require' : cannot load such file -- fcgi (LoadError)

unit-testing - 在测试驱动开发中重构时添加测试

ruby-on-rails - 使用 Rails 上的简单表单创建多条记录

ruby-on-rails - 如何使用 Assets 管道在mailer中使用样式表的绝对路径?