«前の日記(2009-10-20) 最新 次の日記(2009-10-22)» 編集

会長@腹部日記


2009-10-21 [長年日記]

_ JRuby 1.4.0RC1で、ActiveRecordのユニットテスト (2) - MySQL編

0. 先日の続き

うまくいかない犯人はコメントアウトしておいてください。。

  • <JRuby解凍先>\bin\_jrubyvmopts.bat

 169行目
 :
 @rem set _RUBY_OPTS=%_RUBY_OPTS:_P=|%
 :

1. MySQLをダウンロード、インストール

  • community版
  • インストール後そのまま設定へ
    • Developer Machine
    • Multifunctional Database
    • Desision Support(DSS)/OLAP
    • Enable TCP/IP Networking
      • Port:3306
    • Enable Strict Mode
    • Best Support For Multilingualism
    • Install As Windows Service
    • Modify Security Settings

その後自分でPATHを通す。

set PATH=%PATH%;<MySQLインストール先>\bin

2. MySQL用jdbcをインストール

 > jruby -S gem install activerecord-jdbcmysql-adapter
 JRuby limited openssl loaded. gem install jruby-openssl for full support.
 http://jruby.kenai.com/pages/JRuby_Builtin_OpenSSL
 Successfully installed jdbc-mysql-5.0.4
 Successfully installed activerecord-jdbcmysql-adapter-0.9.2
 2 gems installed

3. ActiveRecordのフォルダに移動

 >cd <JRuby解凍先>lib
ubygems.8gemsctiverecord-2.3.4

4. test\connections\jdbc_jdbcmysql\connection.rb を見る

こう書いてある。

 # GRANT ALL PRIVILEGES ON activerecord_unittest.* to 'rails'@'localhost';
 # GRANT ALL PRIVILEGES ON activerecord_unittest2.* to 'rails'@'localhost';
言われるがままに作成してみる。

 > mysql -u root -p
 Enter password: ********
 Welcome to the MySQL monitor.  Commands end with ; or g.
 Your MySQL connection id is 2
 Server version: 5.1.39-community MySQL Community Server (GPL)
 
 Type 'help;' or 'h' for help. Type ' to clear the current input statement.
 
 mysql> create database activerecord_unittest;
 Query OK, 1 row affected (0.00 sec)
 
 mysql> create database activerecord_unittest2;
 Query OK, 1 row affected (0.00 sec)
ユーザはうまく作れなかったので、connection.rbに、MySQLのrootと、パスワードを直接記載しました。*1

5. テスト実行

 >jruby -S rake tast_jdbcmysql --trace
 :
 .....
うごいたー

:
rake aborted!

うっ。

6. UnitTest結果発表

2070 tests, 6504 assertions, 63 failures, 86 errors

( ´ ・ ω ・ ` ) PostgresSQLよりは、errorの数が減っている。

テスト失敗メッセージにも、NoMethodErrorがちらほら見られます。Windowsだとこんなものなのでしょうかね。

*1 あとでちゃんとMySQLくらい使えるようにならんと。。。orz

_ JRuby 1.4.0RC1で、ActiveRecordのユニットテスト (3) - SQLite3編

XPSP3環境です。眠いかつ簡単なので手抜きです。_jrubyvmopts.batは修正しておいてください。

1. SQLite3をダウンロード、配置

  • sqlite3.exeとsqlite3.dllを <jruby解凍先>\bin に配置

2. SQLite3用jdbcをインストール

 > jruby -S gem install activerecord-jdbcsqlite3-adapter
 JRuby limited openssl loaded. gem install jruby-openssl for full support.
 http://jruby.kenai.com/pages/JRuby_Builtin_OpenSSL
 Successfully installed jdbc-sqlite3-3.6.3.054
 Successfully installed activerecord-jdbcsqlite3-adapter-0.9.2
 2 gems installed

3. テスト実行

 >jruby -S rake tast_jdbcsqlite3 --trace
 :
 .....
うごいたー

2070 tests, 5689 assertions, 69 failures, 250 errors
rake aborted!

やっぱり(´・ω・`)

_ きょうのつぶやき : 43回