JsTestDriverを使ってみる(JavaScript用のxUnit)
まず、hello worldをやってみた。
この手順はコマンドラインなので、
CIとして使うにはこちらの手順が良さそうだ。*1
コードを見ると、JUnitと同じようにassertEqualsが用意されている。
GreeterTest = TestCase("GreeterTest");
GreeterTest.prototype.testGreet = function() {
var greeter = new myapp.Greeter();
assertEquals("Hello World!", greeter.greet("World"));
jstestdriver.console.log("JsTestDriver", greeter.greet("World"));
console.log(greeter.greet("Browser", "World"));
};
普段の開発として使うためには、
Eclipseプラグインで使いたいので、
本家?googleのサイトの手順確認できる。*2
JUnitと似た使用感でほぼEclipse内に完結して作業できる。
複数ブラウザで同時にテストできるので、
クロスブラウザでテストを行いたい場合に有効だろう。
Coverageツールが用意されていて、
結果をHTML化することが出来る模様*3
Gateway機能があり、submitなどを行い、
サーバサイドと通信するテストを行いたい場合、利用できそう。*4
ただ、まだいまいちclickとかkeydownとか、そういったイベントハンドル系のテストのやり方がよく分からない。
QUnitのテスト資産を流用することが出来る。
意外とさっくりできた。*5
JavaScript用のXUnitの比較は以下のサイトが詳しいので、併せて参照いただきたい。*6
*1:http://news.mynavi.jp/column/tool/013/index.html
*2:http://code.google.com/p/js-test-driver/wiki/UsingTheEclipsePlugin
*3:http://blog.theanalogguy.be/2011/01/25/automated-javascript-unit-testing-with-jstestdriver/
*4:http://code.google.com/p/js-test-driver/wiki/Gateway
*5:http://d.hatena.ne.jp/weathercook/?of=7
*6:http://testdrivenwebsites.com/2010/04/19/java-script-xunit-style-frameworks-comparison/