JsTestDriverで「Oh Snap! No server defined!」って出た。
テスト駆動Javascriptを読んでて「JsTestDriver」を導入しようと思って設定してたら
java.lang.RuntimeException: Oh Snap! No server defined!
っていうエラーが出た話。
そもそもの「JsTestDriver」の導入方法はアシアルさんが丁寧に書いてくれているのでそれを真似る。
windows版では問題なく動いたんだけどCentOS5の環境でやろうとしたらエラー出たという。。
アシアルさん:JsTestDriverで簡単テスト
■実際にエラーになったコマンド
$ java -jar $JSTESTDRIVER_HOME/JsTestDriver-1.3.5.jar --tests all setting runnermode QUIET java.lang.RuntimeException: Oh Snap! No server defined! at com.google.jstestdriver.config.DefaultConfiguration.getServer(DefaultConfiguration.java:61) at com.google.jstestdriver.config.Initializer.initialize(Initializer.java:99) at com.google.jstestdriver.embedded.JsTestDriverImpl.createRunnerInjector(JsTestDriverImpl.java:368) at com.google.jstestdriver.embedded.JsTestDriverImpl.runConfigurationWithFlags(JsTestDriverImpl.java:342) at com.google.jstestdriver.embedded.JsTestDriverImpl.runConfiguration(JsTestDriverImpl.java:233) at com.google.jstestdriver.Main.main(Main.java:70) Unexpected Runner Condition: Oh Snap! No server defined! Use --runnerMode DEBUG for more information.
■今回のフォルダ構成
jarファイル
/home/myname/bin/
`– JsTestDriver-1.3.5.jar
ソースとテストファイル
/home/myname/public_html/Javascript/
|– JsTestDriver.conf
|– src
| `– sample.js
`– test
`– sample.js
どうも原因はconfファイルを見つけられなかったことらしい。
なので明示的に対対象の設定ファイルの場所を「–config」オプションで指定するようにする。
※絶対パスで指定してるけど別に相対でも可。
$ java -jar $JSTESTDRIVER_HOME/JsTestDriver-1.3.5.jar --config /home/myname/public_html/Javascript/JsTestDriver.conf --tests all setting runnermode QUIET .. Total 2 tests (Passed: 2; Fails: 0; Errors: 0) (1.00 ms) Microsoft Internet Explorer 9.0 Windows: Run 2 tests (Passed: 2; Fails: 0; Errors 0) (1.00 ms)
動いたー!
■参考URL
java.lang.RuntimeException: Oh Snap! No server defined!