15

開発環境で単体テストの出力色を設定したいと考えています。ただし、Linux (Debian および Ubuntu) では動作しません。次のライブラリを含めると:

require 'minitest/autorun'
require 'minitest/unit'
require 'minitest/pride'

私は得る:

/usr/local/rvm/gems/ruby-1.9.2-p136/gems/minitest-2.3.1/lib/minitest/pride.rb:35:in `<top (required)>': undefined method `output' for MiniTest::Unit:Class (NoMethodError)

コードが原因:

MiniTest::Unit.output = PrideIO.new(MiniTest::Unit.output)

動作するRspec バリアントを見てきました。残念ながら、私の Ruby の知識は違いを理解するには不十分です。

4

7 に答える 7

14

ターンを旋回させます。

これをGemfileに追加します。

group :test do
  gem 'turn', :require => false
end
于 2011-10-04T19:22:19.090 に答える
13

ステップ 1 : 最新バージョンの gem を使用する (Ruby 1.9.3 で修正されると思います)

gem install minitest

ステップ2:コードではなく、コマンドラインで「minitest/pride」を要求する

ruby -rminitest/pride your_ruby_script.rb

..そしてあなたのコードでは単に「minitest/autorun」を必要とします

require 'minitest/autorun'

Rubymineを使用している場合は、追加するだけです

-rminitest

テストのデフォルト構成で。=>ご希望の構成

-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) -rminitest/pride
于 2011-07-23T18:05:42.877 に答える
4

これらの行を test_helper.rb ファイルの require 'rails/test_help' の後に追加するだけです。

require "minitest/reporters"
Minitest::Reporters.use!

gemfile に追加します

gem 'minitest-reporters', '~> 1.0.7'

これにより、レーキ テストが赤と緑になりますが、バックトレースも表示されます。これらの余分なバックトレース ログをすべて取り除くには、これを gemfile に追加してからバンドルします。

gem 'mini_backtrace'

次に、config/initializers/backtrace_silencers.rb にこの行を追加して、すべての余分な rvm をカットします

Rails.backtrace_cleaner.add_silencer { |line| line =~ /rvm/ }

詳細が必要な場合はお知らせください。

于 2014-11-16T17:15:38.260 に答える
3

https://github.com/tenderlove/purdytest/issues/1を参照してください。1.9.2 に同梱されている minitest バージョンの既知のバグのようです。その他については、追加

gem "minitest"

ファイルの一番上でトリックを行いました。

于 2011-07-07T11:46:55.787 に答える
1

私は現在purdytest1.9.2で使用しています

于 2011-09-06T08:36:09.500 に答える
0

minitest の見栄えがよく、構成可能な出力を得るために turn gem を使用する方法については、この投稿を参照してください。 http://rawonrails.blogspot.com/2012/01/better-minitest-output-with-turn-gem.html

于 2012-01-12T02:02:28.170 に答える
-1
$ gem install mynyml-redgreen --source http://gemcutter.org

# in your test file
require 'redgreen'

ちなみに、赤緑とターンは互いに連携してうまく機能します

于 2011-10-07T04:04:34.503 に答える