2011-09-24 10 views
13

ruby​​Mineすべてのモデルテストを実行しているときに 'MiniTest framework was detected'エラーが発生しました。ruby​​Mine 'テストレポーターをテストフレームワークに添付できません'

すべてのモデルテストは、通常のコマンドラインで実行できます。例: rake spec:models
ruby​​Mineを使用すると:
私は1つのモデルテストを実行できます。
は、しかし、私は、モデル内のすべてのテストを実行しようとすると、私は
MiniTest framework was detected. It is a limited version of original Test::Unit framework. RubyMine/IDEA Ruby plugin test runner requires full-featured version of the framework, otherwise default console tests reporter will be used instead. Please install 'test-unit' gem and activate it on runtime.

を取得し、私は私のGemfileに「テスト・ユニット」を追加し、rebundlingみましたが、現在は入手:

`/home/durrantm/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) 
    /home/durrantm/Downloads/RubyMine-3.2.3/rb/testing/runner/tunit_in_folder_runner.rb 
Testing started at 9:33 AM ... 
Work directory: /home/durrantm/Dropbox_not_syncd/webs/3/rubyists/spec/models} 
Loading files.... 
========================================= 
0 files were loaded. 
========================================= 
Searching test suites... 
========================================= 
0 test suites, 0 tests, 0 assertions, 0 failures, 0 errors 
Process finished with exit code 0` 

注:面白いです}作業ディレクトリにあります。私はまだUnable to attach test_reporter to test fraemwork messageを得る。

バージョン:私は最終的にこれが動作するようになった Ubuntuの11 ルビーマイン3.2

答えて

11

。 主にメニュー下のものを変更することによって:
実行 - >設定の編集 - > Rspec - >新しい設定を作成をクリックします。

新しい設定では、specsフォルダがアプリケーション仕様モデルを指していることを確認しました。

最終ステップ(実際には動作していたもの)は、作業ディレクトリ(まだ実行/デバッグ設定画面上にある)を自分のアプリケーションルートに設定することでした!

もう1つは、Gemfileにgem 'test-unit'を追加してバンドルしたことです。しかし、後のテスト(アンバンドリングとアンバンドリング)は、必要ではないことを示していました。実際には、空のスイートを使ってテストを複数回実行していました(おそらくデフォルトのunit :: testとrspecの実行)。

+1

私は同様の問題を持っているhttp://stackoverflow.com/questions/7575057/exception-message-no-such-file-to-load-in-rails-applicationと私の作業ディレクトリは、アプリケーションのルートを指しています。助けてください。ありがとう! – Ava

+0

これも私の問題を解決しました:/usr/local/rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in 'require ':できませんそのようなファイルをロードする - spec_helper(LoadError) –

3

私のシステムでは、問題は「赤緑色」の宝石でした。成功または失敗に基づいて進捗マーク(点)とTest :: Unit要約メッセージを自動的に表示します。 RubyMineには、Test :: Unitの結果( "rake test"の出力)を解析しようとするものがなければならず、ANSIシーケンスを窒息させます。

テスト/ test_helper.rbに「redgreen 'が必要です」というコメントがあり、問題は解決しました。私は本当にかかわらず、シェルから「すくいテスト」を実行するためのredgreenのようなので、私はそれを「すくいテスト」の両方のためにとルビーマイン以内に動作するようにtest_helperでこれを置く:それはredgreenされない場合があり

require 'redgreen' if $stdin.tty?

それはあなたの問題を引き起こしていますが、Unconventional Test :: Unit出力を生成する可能性のあるものは疑わしいものです。

幸運を祈る!

4

私もこの問題を抱えていましたが、それを他のポスターとは違って解決しました。

ルビミンで私はminitest-reporters gemを追加しました。その後、私のminitest_helper.rbに、私は以下のコメントを追加しました:私にとって

require "minitest/reporters" 
MiniTest::Unit.runner = MiniTest::SuiteRunner.new 
MiniTest::Unit.runner.reporters << MiniTest::Reporters::RubyMineReporter.new 
+0

RubyMineに自動的に '* _helper.rb'スクリプトを含めることはできませんでしたが、これもうまく動作しますが、実行するには仕様で要求する必要がありました。有用なガイドは、[this one](http://confluence.jetbrains.net/display/RUBYDEV/RubyMine+4.0+Beta+3+%28build+113.2%29+Release+Notes)でもあります。 ** Minitest **設定を実行し、実行ディレクトリを設定します。 – Dr1Ku

+1

MiniTest :: SuiteRunnerが定義されていないため、これは私にとってはうまくいきませんでした。しかし、http://www.jetbrains.com/ruby/webhelp/minitest.htmlによると、「バージョン0.8.0以降」には以下のものを使用する必要があると言われており、それはうまく機能しました。 'require 'minitest/reporters'; MiniTest :: Reporters.use! ' – Anton

0

、私は確信したファイルが正しく命名されていることによって、この問題を解決しました。単語testで始めるか、単語testで終わる必要があります。これは実際にテスト設定の下にある "テストファイル名マスク"に依存します。 * /{ _test、テスト_ *}

例をrbは:。私にとっては、鉱山だったtest_case_01.rbまたはcase_01_test.rb

関連する問題