【ニコニコカレンダー for Redmine 2.X】 3日目
だいぶ時間が経ってしまった・・・。
スモールスタートで、まずは自分のニコニコカレンダーを記録できるところを目指しておりました。
このような感じに仕上がっております。
右側のチャート部分には
- 表示月の「ニコニコ度(ムードや気持ち)」の平均値(「ニコニコスコア」と命名)
- 表示月の「ニコニコ度」の割合
を表示するようになっています。
ニコニコ度のアイコンは、
- http://www.iconfinder.com/ からみつけた、
はてなアイコンは、
ゲージの表示は、
円グラフの表示は、
を利用させてもらいました。
rubyの書き方にもだいぶ慣れてきた、、、かな。。。
1点、redmineプラグインの単体テストの方法について、あれこれ調べたのでその結果をまとめておきます。
1.テストデータの準備
/path/to/redmine/plugins/plugin_name/test/fixtures 配下に「テーブル名.yml」でテストデータを作成します。
/path/to/redmine/test/fixtures 配下に作成したymlファイルをシンボリックリンクしてます。
そうしないと、テスト実行時に
Errno::ENOENT: そのようなファイルやディレクトリはありません
と怒られました。
なお、テストクラスが使用するfixtureは、以下の4行目のように指定します。
require File.expand_path('../../test_helper', __FILE__) class NikonikoCalendarControllerTest < ActionController::TestCase fixtures :users, :nikoniko_histories def test_hogehoge end end
2.テスト用DBの準備
/path/to/redmine/config/database.ymlにtest環境用のDB接続設定を行い、以下を実行します。
$ RAILS_ENV=test rake db:drop db:create db:migrate $ RAILS_ENV=test redmine:load_default_data $ RAILS_ENV=test rake redmine:plugins:migrate NAME=redmine_nikoniko_calendar2
3.テストの実行
/path/to/redmine/で、以下を実行
$ RAILS_ENV=test redmine:plugins:test NAME=redmine_nikoniko_calendar2
「rake -T」によると個別に実行する方法もあるようです。
rake redmine:plugins:test:functionals # Run tests for {:functionals=>"db:test:prepare"} rake redmine:plugins:test:integration # Run tests for {:integration=>"db:test:prepare"} rake redmine:plugins:test:units # Run tests for {:units=>"db:test:prepare"}
次はプロジェクト単位のニコニコカレンダーを実装していきます。