Normalize.cssを分割してSassのSCSSパーシャル化したNormalize.scssのテストを書いていた。テストと言ってもオリジナルと同じコードになるかみたいなチェックを行うだけのもの。空白行とコメントを無視してDIFF取れば……とか考えていたんだけど面倒くさそうだったので、圧縮して同じコードになるか比較するだけにした。これでケアレスミスは防げるんじゃないかと思う。
テスト環境にはGruntを使ってる。
- パーシャルを全読み込みするパーシャルをコピー
- node-contrib-sassでコンパイル
- オレオレgetスクリプトでオリジナルをダウンロード
- 両者を圧縮
- 文字列で比較
ダウンロードでは常に最新版を拾うようになっているので、オリジナルに更新があるとテストが失敗するようになっている。追随する時のことを考えてこうしたんだけど、間違いだった気がする。あと圧縮せずにgrunt-css-parseを使ってJSON化し、コメント等を削除してオブジェクトとして比較する方が良さそう。もうちょっと直そう。
最近なんでもGruntでやろうとしててダメな感じだ。