除夜の鐘をBGMにBowerパッケージのhail2u-scss-functionsのテストを書いていた。Gruntでコンパイルして期待される結果と付き合わせるだけだけど、あるとないのとでは大違いな気がしないでもない。
パーシャル読み込んで使ってみるSCSSファイルと、それのコンパイル結果として想定されるCSSファイルを書き、Gruntのgrunt-contrib-sassプラグインでコンパイルし、CSSファイルの内容をgrunt-contrib-nodeunitプラグインのstrictEqual()
を使って突き合わせるというテスト。Sassの全般的なテストを書くのは難しいけど、ユーザー定義関数やミックスインなどはこういう形で書ける。
手間がかかる割には報われないような気がするけど、世界中のミックスインとユーザー定義関数にテストがあればそれも変わるんじゃないかと思いながら書いた。変わんないか。
テストとかを始め、ユーザーがBowerパッケージ自体を利用する時には必要ないものを色々リポジトリに突っ込んでいる場合、bower.json
のignore
を書くのが面倒くさい。include
みたいの作ろう! みたいなIssue見た気がするので、結構みんな同じようなことは感じていそう。もっともBowerはBowerでインストールしてそのまま使うみたいなのはあまり想定されていないような気もするので、ignore
書きたければ書けやみたいな感じなのかも。そうなるとgit clone
やgit submodule
との違いが微妙な感じにもなるような。
2014年は積極的にこういったSassのテスト、できればCSSのテストも書いていきたい。