世界線航跡蔵

Mad web programmerのYuguiが技術ネタや日々のあれこれをお送りします。

2007年01月02日

RSpecに色を付ける

RubyのTest::Unitの表示を色つきにしたかったら、多分、redgreenを使うのが一番スマートなんだと思う。

でも、私はTerm::ANSIColorを使った反転表示が気に入っているので、youpyの人のやつを使ってる。RedGreenでも設定すればできるのかもしれないけど、よく分かってない。

で、これをRSpecでもやりたいわけだ。youpyさんと同じく強引に、こんな感じになった。なんか、車輪を再発明してそうで嫌だね。

require 'term/ansicolor'
module Spec
  module Runner
    module Formatter
      class BaseTextFormatter
        include Term::ANSIColor
        def initialize_with_color(output, dry_run = false, color = false)
          initialize_without_color(output, dry_run, true)
        end
        alias_method :initialize_without_color, :initialize 
        alias_method :initialize, :initialize_with_color

        def green(text)
          on_green(text)
        end
        def red(text)
          on_red(text)
        end
      end
    end
  end
end

もっとスマートな解

by かくたにさん

トラックバック

http://yugui.jp/articles/575/ping

現在のところトラックバックはありません

コメント

かくたに (2007年01月03日 00時20分53秒)
<p>spec --colour オプションじゃダメっすか。<br /></p>
Yugui (2007年01月03日 09時32分41秒)
<p>いや、反転表示が欲しかったのと、それからRSpec on RailsのRakeタスクからRunnerにオプションを渡す方法が分からなかったもので。</p> <p>どうしたらよいんでしょうか。</p>
かくたに (2007年01月04日 11時37分38秒)
<p>Rakefileに、</p> <p>ENV[&#39;RSPECOPTS&#39;] = &#39;-c&#39;</p> <p>でビルトインの色はつきます。dRuby経由も0.7.6相当(trunkとか)では色がつくはず。<br /></p>
Yugui (2007年01月04日 12時25分20秒)
<p>あ、そうか。環境変数ですか。ありがとうございます。これで醜いinitialize書き換えをしないで済みます。</p> <p>でも、色は、反転のほうがいいなぁ。BaseTextFormatterを派生すればいいのか。調べてみます。</p>
blog comments powered by Disqus

ご案内

前の記事
次の記事

タグ一覧

過去ログ

  1. 2016年07月
  2. 2016年01月
  3. 2015年09月
  4. 2015年08月
  5. 過去ログ一覧

フィード

フィードとは

その他

Powered by "rhianolethe" the blog system