jstdutilをインストールしたい。
jstdutilは↓を提供してくれる便利なやつ。
・JsTestDriverのコマンドラインを簡略化するjstestdirver
・ファイル更新時に自動的にテストを実行するjsautotest
jstdutilはrubyのgemからインストールできるらしい。
でもそもそもrubyすら入っていない・・・。
とりあえず手元にあったCentOS release 5.7にrubyを入れる。
yumで見たらVersionが1.8.5だった・・・。
# yum info ruby Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp base | 1.1 kB 00:00 extras | 1.9 kB 00:00 updates | 1.9 kB 00:00 updates/primary_db | 837 kB 00:00 vz-base | 951 B 00:00 vz-updates | 951 B 00:00 Available Packages Name : ruby Arch : i386 Version : 1.8.5 Release : 24.el5 Size : 277 k Repo : base Summary : An interpreter of object-oriented scripting language URL : http://www.ruby-lang.org/ License : Ruby License/GPL - see COPYING Description: Ruby is the interpreted scripting language for quick and easy : object-oriented programming. It has many features to process text : files and to do system management tasks (as in Perl). It is simple, : straight-forward, and extensible.
rubyのサイトを見るとどうやら最新の安定版は「ruby 1.9.3-p286」らしいので
ソースからビルドしてみる。
↑このとおりやってみた。
で、今回の目的だった「jstdutil」を入れようとする。
$ gem install jstdutil
入ったのかな?よくわかんないので動かしてみる。
$ jsautotest /usr/local/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>': It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby. /usr/local/lib/ruby/gems/1.9.1/gems/watchr-0.7/lib/watchr.rb:111: Use RbConfig instead of obsolete and deprecated Config. Using config file public_html/Javascript/JsTestDriver.conf An error occurred invalid byte sequence in UTF-8
どうも怒られているらしい。
Ruby 1.9.3 を導入するにあたってソースからビルドする人が気をつける事とはいったい…?!
上記サイトの内容に沿って最新のlibyamlをいれてrubyをconfigure;make;make install
$ java -jar $JSTESTDRIVER_HOME/JsTestDriver-1.3.5.jar --port 4224 setting runnermode QUIET
サーバ立てて・・・ブラウザで「Capture This Browser」クリックして・・・
$ jstestdriver --config=path/JsTestDriver.conf --tests all setting runnermode QUIET ....... Total 7 tests (Passed: 7; Fails: 0; Errors: 0) (2.00 ms) Microsoft Internet Explorer 9.0 Windows: Run 7 tests (Passed: 7; Fails: 0; Errors 0) (2.00 ms)
動いた。でも相変わらず jsautotest はだめ
$ jsautotest /usr/local/lib/ruby/gems/1.9.1/gems/watchr-0.7/lib/watchr.rb:111: Use RbConfig instead of obsolete and deprecated Config. Using config file public_html/Javascript/JsTestDriver.conf An error occurred invalid byte sequence in UTF-8
よくわかんないけどwatcharとかいうのを入れてみる。
# gem install watchr Successfully installed watchr-0.7 1 gem installed Installing ri documentation for watchr-0.7... Installing RDoc documentation for watchr-0.7...
さらに、、、どうもコンフィグのファイル名が悪いらしいのでファイル名を変更
「JsTestDriver.conf」から「jstestdriver.conf」
で今一度
$ jsautotest /usr/local/lib/ruby/gems/1.9.1/gems/watchr-0.7/lib/watchr.rb:111: Use RbConfig instead of obsolete and deprecated Config. Using config file jstestdriver.conf
おっ動いたかも。
この状態でテストケースとかを変更してみる。。。。すると。
$ jsautotest /usr/local/lib/ruby/gems/1.9.1/gems/watchr-0.7/lib/watchr.rb:111: Use RbConfig instead of obsolete and deprecated Config. Using config file jstestdriver.conf 2012-10-29 15:14:14 Running all setting runnermode QUIET Microsoft Internet Explorer: Reset Microsoft Internet Explorer: Reset ....... Total 7 tests (Passed: 7; Fails: 0; Errors: 0) (3.00 ms) Microsoft Internet Explorer 9.0 Windows: Run 7 tests (Passed: 7; Fails: 0; Errors 0) (3.00 ms)
おー動いた。rubyよくわかんないっす。。