ぽっちぽちにしてやんよ

技術ネタとかアプリに関する話とか

[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とすると長めのログが出ます.

Comments