Componentでビルドしたものをテストする
結論
ビルド後のJSではrequireがpolyfillされているから、フロントエンド側からrequireを使って適宜呼び出せばよい。
テストスタックは好きなものが使える。例ではMocha, Chai, Karmaでテストしており、変にロックインされる心配はない。
例
MisumiRize/component-test-skeleton · GitHub
npm install -g component karma-cli
必要に応じてグローバルインストールしたあとで、ビルドとテスト実行。
component install component build npm install karma start
ハマりどころ
component.jsonのnameはちゃんとつけておくこと。
ビルドを実行してrequireがpolyfillされる際、component.jsonのname欄を参照して名前が付けられる。未定義のままビルドしてもエラーは発生しないが、名前がundefinedになってしまう。
補足
パスを指定すればエントリポイント以外でもrequireできる。同じように、的確に名前を指定しさえすれば、component installしたものもテストからrequireできる。
発端
component.jsonのspecが合ってないと延々悩み続けたら、1.0.0-rc準拠だったというオチがついて泣いてる、visionmedia氏がnode離れてるし1.0.0出る気配ないけど大丈夫かComponent
— 深澄りぜ (@Misumi_Rize) 2014, 10月 1
いつまでたってもヤクの毛刈りから脱出できない
— 深澄りぜ (@Misumi_Rize) 2014, 10月 1
Componentを3時間ほどいじって、ついに「あっこれ中身ガチャガチャできるやつや」と気づいた感動
— 深澄りぜ (@Misumi_Rize) 2014, 10月 1