カテゴリー: Ruby

jstdutilをインストールした

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」らしいので
ソースからビルドしてみる。

Ruby Install Guide::UNIX全般

↑このとおりやってみた。

で、今回の目的だった「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よくわかんないっす。。