2007-01-04(Thu) [長年日記]
■1 RSpecに(反転させた)色を付ける
こんな感じですかね:
って、認定言語ヲタにおかれましては既に解決してるかもしれませんが。脊髄反射的にやるなら次の通り:
inverted_progress_bar_formatter.rb
class InvertedProgressBarFormatter < Spec::Runner::Formatter::ProgressBarFormatter def green(text); colour(text, "\e[42m") end def red(text); colour(text, "\e[41m") end def magenta(text); colour(text, "\e[45m") end end
独自フォーマッタを書く。書いたファイルはどこかに置く。
specコマンド
spec -r path/to/inverted_progress_bar_formatter.rb -c \ -f InvertedProgressBarFormatter spec/money_spec.rb
先ほどの独自フォーマッタをspecコマンドから-rオプションでrequireさせて、-fに独自フォーマッタのクラス名を与えることで有効になる。-rがちょっと鬱陶しいな。どうするのがいいのかしら。
Rakeからも使いたい
Rakefileで:
ENV['RSPECOPTS'] = "-r #{path_to_custom_formatter} -f #{custom_formatter_classname} -c"
といった感じで。エレガンスは無いけれども、ともかく動く。環境変数RSPECOPTSはRake経由のspec実行にオプションを渡すための変数。
や、specコマンドのオプションを調べただけで、まだ試していなかったのですけれど、ありがとうございました。