休日のやる気がやばい。
金曜夜まではやる気あるんだが、土曜に起きたらもう何もやる気なくなって、ごろごろしながら本読んだりゲームしたりピアキャス見てるだけで終わってしまった。
日曜には買い物行ったり洗濯したりはしたものの、作業やる気が起きないままごろごろしてしまった。 なんでやる気出ないんだろうと洗濯物干しながら考えてたんだけど、よくわからんうちにやる気が出てきたので寝る前まで作業した。 平日が近付いてきたからやる気出たんだろうか。謎だ。
話は変わるけど、PHSの調子が悪い。バッテリーがへたってるのは分かってたので新しいのを買ったんだが、まあやっぱりバッテリーだけじゃないよねっていう。たまにテザリングがつながらなくなったりするのはまだあるし、今見たら電源勝手に切れてるし、電源入りもしねぇ1。いろいろ検討した結果機種変更する必要もないことがわかったのでまだまだ元気に動いてほしいもんだがなぁ。
電池一旦抜いてからの再起動余裕でした ↩
PeerCastStationのテストはIronRubyで書いてあった1のだが、IronRubyToolsはVisual Studio 2010しか対応していないので2012および2013に移行してからはまともに動かしてなかった。 さらに言えばIronRubyToolsがあっても適当に実行すると全部のテストを通そうとするもんだから遅いというのもあってあまり便利でなかったのも確かだ。
テストが実態と乖離してるのもなんだし、やっぱりテストある程度欲しいのでVisual Studio標準のテストプロジェクトでIronRubyを起動できないか調べてたんだけど、手軽な方法では無理っぽい。非標準のでもいいの無いか調べるとGallioてのがIronRuby対応してるんだけど、今のところ開発中断してるぽいんだよね、残念ながら。
GallioやNUnitとかxUnit.netなどいくらかのテストフレームワークではVisual Studio拡張でテストエクスプローラに組み込みができてるんだが、ソース等を調べてるとどうも思ったより簡単に拡張が作れそう?自前で作れんじゃねーかこれ。
だが調べてみるとまともなドキュメントは無いようだ。ひでぇ。とはいえチュートリアルとサンプルは発見して、読んでみるとやってることは単純なのでなんとかなるかなぁ。そんなわけでIronRubyのテスト用拡張を作り始めたのであった。
取っ掛かりがサンプルしかないので、ほぼサンプルコピペでやっていく。テストエクスプローラとのやりとり自体は簡単なんだが、テストケースを見つけるのにソリューション中のファイルを列挙するのがめちゃくちゃめんどくさい。Microsoft.VisualStudio.Shell.InteropとかいうCLR用のアセンブリは一応あるんだけど、Interopていう名前の通りCOMのラッパそのままじゃねーかこれ……。 とはいえめんどくさいだけでサンプルをそのままコピペ、というか書き直して取り込むだけなので難しくはない。
ファイルが変更された時に変更検知してテストケース読み直すのが上手くいってないが、それ以外はすんなり動いてくれた。しかし試すのにいちいちvsxiでインストールしなおさないといけないのはとてもめんどいんだがなんとかならないんだろうか。 デバッグもできねーと困ってたんだが、単に別のVisual Studioインスタンスにアタッチするだけでデバッグはできた。そういやそうか。
まだ多少の不備はあるものの、とりあえずVisual Studioのテストアダプタとしての体裁は整った。あとはIronRuby起動して(これは以前やったので簡単)、テストケースを列挙して実行するあたりを作らないとな。MiniTestとかshoulda/contextの中身見ないとなー。
たまに何故かと聞かれるが理由はない。IronRubyが使いたかったからだ ↩