4

質問のタイトルはそれをほぼ要約していますが、ここではより時系列の説明を示します。

  1. 新しい Rails 3.2.9 アプリを開始しましたが、特別なオプションを渡しませんでした (つまり、テスト ユニットをスキップしませんでした)。
  2. minitest-railsgemfileに追加して 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を取得し、ファイルを監視するように設定します。変更を保存すると、自動的にテストが実行されます。ミニテストとガードの最悪の部分はセットアップですが、一度うまくいくと、二度と戻りたくないでしょう。

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

乾杯

于 2012-12-07T07:38:16.503 に答える
0

これまで、コントローラーまたは scaffold コマンドを実行/生成していなかったと思います。スキャフォールド/コントローラー/モデルを作成し、データベースを移行すると、レーキ テストが機能し始めます。

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 に答える