[RubyMotion] rake specをカラフルにしよう!

RubyMotionはBaconというテストフレームワークを使っています.
RSpecとの違いがよく分からない.



$ rake spec



とやると,spec以下のテストが実行されるっぽいです.



ところが,普通に



$ motion crate redgreen
$ cd redgreen
$ rake spec



とやると,ビルドされてシミュレータが立ち上がりテストが実行されますが,白黒です.



そこで,specフォルダで一番初めに読み込まれる .rbの中でカラー表示にさせるスクリプトを実行させれば,カラー表示になるようです.
(そのため, 00***.rbのような名前にすれば良いようです.)



RedGreenというrake specをカラフルにするライブラリがあるらしいのですが,それをRubyMotion用にアレンジしたものがgithubで公開されています.



rm-redgreen




  • spec/00-redgreen.rb


  • app/app.rb


  • app/kernel.rb


  • app/rm-ansiterm.rb


  • app/string.rb




を自分のとこに持ってくれば使えます.



先程のmotion createしただけのやつにコピーして再度テストをすると,このようになります.



カラフルになりましたね.



デフォルトのテストはWindowがあるのを調べるテストなので,実装を書いてGreenにしましょう.



./app/app_delegate.rb



class AppDelegate
def application(application, didFinishLaunchingWithOptions:launchOptions)
@window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)
true
end
end



テストを再実行します.



$ rake spec



Greenになりました.



./spec/00-redgreen.rbstyle = :focusedとなっている部分をstyle = :fullとすると長めのログが出ます.

0 comments: