[js] JsTestDriver が動かない…

「テスト駆動 JavaScript」を買ったので読んでいるのだけど、この本を通して使う JsTestDriver が動かなくて困っている。


セットアップは問題なく終わっていて、テストファイルを必要としない状態では問題なく動作する。

$ java -jar ~/bin/JsTestDriver-1.2.1.jar --port 4224


でも肝心のテストファイルを必要とする場合は動かない!
java.net.ConnectionException: Connection refused」って例外が出る。
これじゃテストにはまるっきり使えないじゃないか…。

$ java -jar ~/bin/JsTestDriver-1.2.1.jar --tests all
java.net.ConnectException: Connection refused
java.lang.RuntimeException: java.net.ConnectException: Connection refused
        at com.google.jstestdriver.HttpServer.fetch(Unknown Source)
        at com.google.jstestdriver.JsTestDriverClientImpl.listBrowsers(Unknown Source)
        at com.google.jstestdriver.ThreadedActionsRunner.run(Unknown Source)
        at com.google.jstestdriver.ActionRunner.runActions(Unknown Source)
        at com.google.jstestdriver.JsTestDriverServer.main(Unknown Source)
Caused by: java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)
        at java.net.Socket.connect(Socket.java:529)
        at java.net.Socket.connect(Socket.java:478)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:395)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:530)
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:234)
        at sun.net.www.http.HttpClient.New(HttpClient.java:307)
        at sun.net.www.http.HttpClient.New(HttpClient.java:324)
        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:970)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:911)
        at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:836)
        at com.google.jstestdriver.HttpServer.fetch(Unknown Source)
        ... 4 more


公式の GettingStartedを見てみると、同じようにハマっている人がいた。
でもこれといった解決策が出てきていないみたい。
この本の原著が出たのは2009年で、当時の JsTestDriver のバージョンが 1.2.1。
2012年5月現在の最新バージョンは 1.3.4 で2年以上経っているので、こんなバグがずっと残っているとは考えづらい。
なにか見落としていると思うのだけど…。

追記

解決した!使い方を勘違いしていたみたい。
「--tests」がつくのとつかないのはどちらも実行させる必要がある。
「--tests」つかないのはブラウザをキャプチャできるかどうかの確認用だと思っていたけど違っていた。
どっちも動かさないといけない。ついてないのがサーバ起動用で、ついてる方がテストの実行用という役割みたい。