can't go to sleep

組み込み開発の多くをRubyで自動化することに興味があります

メモ

Unityはテストランナーを自動で作成してくれるので、testフォルダに決まった名前(例えば、Test_で始まるファイル名にする、など。ルールはrakefile_helperで設定できます)でテストケースを入れておくと、「rake」というコマンドを入力するとそれだけで、全部テストをしてくれます。
非常に便利な機能ですが、テストケースが増えてくると、いちいち全部のテストを実行してしまって時間がかかります。
だからといって、テストケースを別フォルダに入れて、必要な時にフォルダを移動させる、というのも面倒だし・・・。
本来ならば、ある程度unityに慣れてくるとテストランナーを自動生成ではなくて、自分である程度いじるようになるのが、正しい選択のような気がします。
しかし、私はそれが面倒だったので、rake実行時に、テストケース内のテストファイルをリネームしてUnityがテストファイルをテストファイルとして認識しないようにするスクリプトを書きました。
具体的には、rakefileにて、unity実行前にテスト対象のファイル以外のファイル名の先頭に適当な文字(notなど)を入れます。そしてunityを実施後、ファイル名を元に戻します。

他にも色々な方法があると思うので、これが一番良い方法だとは思いませんが、とりあえず、テストもサクサク進み、且つ、必要な時には「rake all」コマンドで全テストを実行できため、なかなか気に入っています。

rakefileの変更方法及び、スクリプトはあとで気が向いたら公開します。

個人的には、rubyで色々気軽に拡張できるのでCppUTestよりもUnityの方が好きなんだけど、なんかCppUTestの方が流行っている印象・・・。
unityと一緒にrubyの使い方も覚えてしまえば、仕事の自動化効率化に相当有利になると思うのだけれど。