1

このコマンドを使用していくつかのテストを実行しています...

bundle exec ruby -Itest test/functional/*.rb

私のtest/functionalディレクトリには2つのファイルがあります...

file_sets_controller_test.rb
user_sessions_controller_test.rb

上記のコマンドを使用すると、すべてのテストが実行されますが、 のテストはfile_sets_controller_test.rbまったく実行されuser_sessions_controller_test.rbません。エラーやその他の出力は報告されません。

ただし、このファイルを直接問題なく実行できます...

bundle exec ruby -Itest test/functional/user_sessions_controller_test.rb

それはうまくいきます。

を使用する別のオプションがあることは知っていますがrake test functionals、直接実行する場合に比べて非常に遅くなります。


ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin11.4.2]

Rails 3.2.12

これが私のGemfileの一部です...

group :development, :test do

  gem 'ansi'
  gem 'turn'

  gem 'minitest'
  gem 'minitest-matchers'

end

そして、ここに私のtest_helper.rb...

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

require 'turn/autorun'
Turn.config.ansi = true

require 'minitest/autorun'

class ActiveSupport::TestCase

  fixtures :all

end

Turn と Minitest ジェムを削除しても、私が知る限り、何も変わりません。

4

1 に答える 1

7

このrubyコマンドは、実行する ruby​​ ファイルを最初の引数として取り、追加の引数を ruby​​ プログラムで使用できるようにします。シェルは、glob 式を 2 つの引数に展開して に渡しているためrubyruby展開内の最初のファイル名が実行されています。

追加:

私はあなたが好きなことを次のようなもので行うことができると思います...

bundle exec ruby -Itest -e "Dir.glob('test/functional/*_test.rb').each{|f| require File.expand_path(f)}"
于 2013-02-23T02:15:44.170 に答える