Normalize.cssを分割してSassのSCSSパーシャル化したNormalize.scssのテストを書いていた。テストと言ってもオリジナルと同じコードになるかみたいなチェックを行うだけのもの。空白行とコメントを無視してDIFF取れば……とか考えていたんだけど面倒くさそうだったので、圧縮して同じコードになるか比較するだけにした。これでケアレスミスは防げるんじゃないかと思う。

テスト環境にはGruntを使ってる。

  1. パーシャルを全読み込みするパーシャルをコピー
  2. node-contrib-sassでコンパイル
  3. オレオレgetスクリプトでオリジナルをダウンロード
  4. 両者を圧縮
  5. 文字列で比較

ダウンロードでは常に最新版を拾うようになっているので、オリジナルに更新があるとテストが失敗するようになっている。追随する時のことを考えてこうしたんだけど、間違いだった気がする。あと圧縮せずにgrunt-css-parseを使ってJSON化し、コメント等を削除してオブジェクトとして比較する方が良さそう。もうちょっと直そう。


最近なんでもGruntでやろうとしててダメな感じだ。