Windowsã§ãã¹ãçµæãè¦ããããã
Macã®autotestã®è¨äºã¨ããè¦ã¦ãautotestã¯æ¯åèµ°ãã¨ãããã¡ãã£ã¨ãªã¨æã£ã¦ããã®ã§ããããã®è²ãä»ãããã¹ãã¯ãããªã¼ã£ã¦æã£ã¦ãWindowsã§ãã£ã¦ã¿ã¾ããã
ã¹ã¯ãªã¼ã³ã·ã§ãã
ãããªæãã«ãªãã¾ãã大éã®ãã¹ããè¡ãã¨ããããç®æãåãããããã§ããã¾ããå
¨é¨ç·ã«ãªãã¨å¿ãçããã¾ãã
ãã£ããã¨
- redgreenã®ã¤ã³ã¹ãã¼ã«
gemããã¤ã³ã¹ãã¼ã«ã§ãã¾ãã
gem install redgreen
ãã®gemã使ãã¨ããã¹ãã§ã.ãï¼=ééï¼ã«ã¯ç·ããFãã¯èµ¤ã§è¡¨ç¤ºãããããã«ãªãã¾ãã便å©ã§ãããæåã¯ãTerm::ANSIColor for Rubyãã使ããã¨ãã¦ãã¾ãããï¼æ±ï¼
Unixç³»OSã®ã¿ã¼ããã«ãªããããã§ååã§ããWindowã®å ´åã¯ãä»®ã«ãã®ç¶æ
ã§ãã¹ããè¡ãã¨ã以ä¸ã®ãããªçµæã«ãªãã¾ãã
ãªãããã¹ãã§ä½¿ãéã«ã¯ãTestHelperå
ã§requireããã°ãï½ã§ãã
- test_helper.rb
ENV["RAILS_ENV"] = "test" require File.expand_path(File.dirname(__FILE__) + "/../config/environment") require 'test_help' require 'redgreen' class Test::Unit::TestCase ã»ã»ã»
- ãã¹ãçµæ
Loaded suite user_test
Started
[42m.[0m[41mF[0m[42m.[0m[42m.[0m[42m.[0m[42m.[0m[42m.
æ³£ãã¦ãã¾ããWindowsã®ã¿ã¼ããã«ã¯ANSIã«å¯¾å¿ãã¦ããªãã®ã§ãè²ãæå®ããã³ã¼ãããã®ã¾ã¾ã§ã¦ãã¾ãã¾ãã
Windowsã®ã³ãã³ãããã³ãããANSI対å¿ã«ãã
便å©ãªãã®ã£ã¦ãããã®ã§ãã
å æ¥èª¿ã¹ãã¨ãã¯è¦ã¤ããããªãã£ããã ãã©ãä»æ¥ãã¾ãã¾Rubyist Magazine - ã¹ã¯ã¹ããã¯ã®ã¹ ã第 1 åã RSpec ã®æ¦è¦ã¨ãRSpec on Rails (ã¢ãã«ç·¨)ãèªããã¨ãã¦çºè¦ããã¾ãã gem install win32console ããã¹ãã
WindowsでRailsのログをカラー表示する - jitteの日記
ããã«ãããwin32/console/ansiãã¤ã³ã¹ãã¼ã«ããã¨ãã³ãã³ãããã³ããã§ãANSIã解éããããã«ãªãã¾ãããããgemã§ã¤ã³ã¹ãã¼ã«ã§ãã¾ãã
gem install win32/console/ansi
gem install win32console
ãã¹ãçµæã«è²ãä»ãã¦ã¿ã
å ã»ã©ãå°ã触ããã®ã§ãããTestHelperã®å é ã以ä¸ã®ããã«ãã¾ãã
- test_helper.rb
ENV["RAILS_ENV"] = "test" require File.expand_path(File.dirname(__FILE__) + "/../config/environment") require 'test_help' require 'win32/console/ansi' require 'redgreen' class Test::Unit::TestCase
ããã§ãã¹ããéãã¨ããã¹ãçµæã次ã®ããã«ãªãã¾ãã
ããã©ã«ãã®redgreenã¯å¾®å¦ã«éãã§ãããªã®ã§ã/trunk/lib/rubytui.rb - rubytui - Tracãåèã«redgreen.rbã次ã®ããã«å¤æ´ãããããã¨ãon_greenãªã©ãããã¹ããè¦ãå½¢å¼ã使ããããã«ãªãã¾ãã
- redgreen.rb
require 'test/unit' require 'test/unit/ui/console/testrunner' # cute. module Color COLORS = {:clear => 0, :red => 31, :green => 32, :yellow => 33, :on_red => 41, :on_green => 42, :on_yellow => 43} def self.method_missing(color_name, *args) color(color_name) + args.first + color(:clear) end def self.color(color) "\e[#{COLORS[color.to_sym]}m" end end class Test::Unit::UI::Console::RedGreenTestRunner < Test::Unit::UI::Console::TestRunner def initialize(suite, output_level=NORMAL, io=$stdout) super end def output_single(something, level=NORMAL) return unless (output?(level)) something = case something when '.' then Color.on_green('.') when 'F' then Color.on_red("F") when 'E' then Color.on_yellow("E") else something end @io.write(something) @io.flush end end
ããã§ãã¹ããéãã¨ãã¹ã¯ãªã¼ã³ã·ã§ããã®ããã«ãªãã¾ãã
ã¾ããå®éã¯ãtest/ ä¸ã«libãã£ã¬ã¯ããªãä½ã£ã¦æ¬¡ã®ããã«ãã¦ã¾ãã
- test_helper.rb
ENV["RAILS_ENV"] = "test" require File.expand_path(File.dirname(__FILE__) + "/../config/environment") require 'test_help' #add test/lib to load path $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + "/lib/") require 'visualized_test_interface' class Test::Unit::TestCase
- test/lib/visualized_test_interface.rb
#!/usr/bin/env ruby if PLATFORM =~ /win32/ require 'win32/console/ansi' require 'redgreen' end