4

问题标题几乎概括了它,但这里有一个更按时间顺序的描述:

  1. 我开始了一个新的 rails 3.2.9 应用程序,没有通过任何特殊选项(即没有跳过测试单元)。
  2. 我添加minitest-rails到 gemfile 并运行 bundle install。
  3. 我删除了 test 文件夹的内容,然后运行rails g mini_test:install​​.

现在,如果我跑步rake test,什么也不会发生。

我可以制作自己的 rakefile 并TestTask手动指定,但除非我手动复制所有这些,否则我无法获得执行rake test:controllers应该内置的类似操作的选项。

有没有其他人遇到过这个?

4

4 回答 4

2

确保require 'test_helper'在测试文件之上添加。例如

require 'test_helper'

class UsersControllerTest < ActionController::TestCase
  test "should pass" do
    assert true
  end
end

我拥有的自动生成的 test_helper 文件如下所示:

ENV["RAILS_ENV"] ||= "test"
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'

class ActiveSupport::TestCase
  ActiveRecord::Migration.check_pending!

  fixtures :all

end
于 2014-02-05T09:55:24.400 回答
1

很高兴您正在切换到 MiniTest!我也许可以帮助您走上正轨。

老实说,我会完全避免耙子。尝试从命令行运行测试以确保您的测试套件正常工作。

ruby -Itest test/unit/something.rb

在您知道您的测试通过之后,然后获取 guard-minitest 并将其设置为监视您的文件。当您保存更改时,它会自动为您运行测试。minitest 和 guard 最糟糕的部分是设置,但是一旦你把它做好了,你就再也不想回去了。

https://github.com/guard/guard-minitest

干杯

于 2012-12-07T07:38:16.503 回答
0

我猜你到目前为止还没有运行/生成任何控制器或脚手架命令。创建脚手架/控制器/模型并迁移数据库后,您的 rake 测试将开始工作

关于 rake test:controllers,当我尝试用 rake -T 列出时,它仍然没有列出

于 2012-12-06T16:08:58.977 回答
0

您可能需要通过将以下内容添加到config/application.rb文件中来将 minitest-rails 注册为默认测试引擎:

config.generators do |g|
  g.test_framework :mini_test
end

之后,您可以使用以下命令运行控制器测试:

rake minitest:controllers
于 2012-12-06T16:14:32.777 回答