2012-04-09

JSTDD Intro followup for kanazawa.js v1.7

Q.『テスト駆動JavaScript』は必読?

kanazawa.js はデザイナの参加も多いので、個人的には『テスト駆動JavaScript』はオススメしません。いい本だと思いますがガチエンジニア向きです。

  • JavaScript そのものの話が完全にガチ
  • Java アプリを KUROIGAMEN から起動できて当たり前

など、ハードルは高いと言わざるを得ません。

同時に、この本で使う jsTestDriver もオススメしません。準備もやや面倒だし、サーバとかクライアントとか意識しなくちゃいけない。

js-test-driver - Remote javascript console - Google Project Hosting

もちろん jsTestDriver 自体はよいツールです。

  • コマンドラインから自分の好きなタイミングでテストを実行可能
  • しかもキャプチャしたすべてのブラウザで同時にテスト可能
  • 複数のブラウザのテスト結果がすべて自分の手元に返ってくる

ここら辺はフロントエンドエンジニアにはとてもオススメなのですが、こういう環境に慣れていない人の JSTDD の入り口としては厳しい気がします。

あと個人的には jsTestDriver は生で使わずに npm にある jstestdriver-wrapper で使う方が楽でいいと思います。(結局 KUROIGAMEN だけど)

問題はあとから jsTestDriver の恩恵に与れるかどうかだと思うのですが、できます。jsTestDriver には各種 adapter があるので

  • [QUnitAdapter - js-test-driver - Run QUnit tests using JS Test Driver
    • Remote javascript console - Google Project Hosting]4
  • ibolmo/jasmine-jstd-adapter

例えばすでに QUnit や Jasmine で書いたテストがあったとしても、複数のブラウザを効率的に検証したいときだけ jsTestDriver を使う、といった活用も考えられます。

もちろん jsTestDriver に慣れたから昔のテスト書き直すわーっていうのもアリだと思います。最初の選択、導入をしっかりやるのも大事ですけど、どうせ変化するのであればさっさと始められる方が個人的にはよい気がします。少なくとも最先端を突っ走らなければ失敗の可能性は減らせます。1

Q. 他のフレームワークは?

2011年後半辺りは

の名前をよく聞いた気がします。Vows は思いっきり node.js って書いてあるのでブラウザの話と合うのか疑問なのですが、mocha はブラウザもサポートしてますね。

あと、テスト込みのフレームワークもあるので、その場合は付属のものを使った方がよいと思います。

なんかが代表でしょうか。

これまで jQuery くらいしか使っていないのなら QUnit や軽めのものでもよいでしょうし、大きめのフレームワークを導入してより本格的なアプリを組む場合は採用するツールの作法に従うことになると思います。

すいません、超無難な感じで。

  1. jsTestDriver, QUnit, Jasmine すべて最先端ではありません。すでに実績があります。 

About

例によって個人のなんちゃらです