スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

バージョンガントチャートPluginのテスト作成 作業記録1

Railsのテストを以下のように定義しているらしい。(基礎Ruby on Railsより)

単体テスト:モデルの動作確認
機能テスト:コントローラの各アクションの動作確認
統合テスト:複数のコントローラにまたがる機能

Railsでは'RAILS_ROOT/test'ディレクトリの下に、
それぞれのテストに対応したディレクトリ(unit, functional, integration)を作って、
その中にテストスクリプトを記述して動作確認をするのが作法らしい。

ruby script/generate redmine_plugin
で作ったPluginディレクトリは'RAILS_ROOT'と同じ構造なので、
同じ方法でテストできそうな気がする。

テストフレームワークは'Test::Unit'で(Railsに限らずRubyで使える)
rakeを使ってDBを初期化したり、複数テストケースをまとめて実行できる。

次回、単体テストのテストケースを考えるところから再開予定。
(DBアクセスはしないので単純にPublicメソッドのテストになる予定)

バージョンガントチャートPlugin 0.3.2 リリース

バージョンガントチャートPluginの0.3.2をリリースしました。
0.3.2で翌日以降のバーを遅延(赤色)で表示するバグ修正版です。
http://code.google.com/p/version-gantt-chart/downloads/list

不具合が結構でてきて、テストがいい加減だったことを反省してます。
せっかくRailsを勉強してるので、Railsの枠組みでのテスト方法を試してみたいと思います。

テーマ : プログラミング
ジャンル : コンピュータ

Redmine0.8.5のガントチャートをバージョン別に並び替える

Redmine標準のガントチャートの表示で、
「バージョンAのチケット、バージョンA、バージョンBのチケット、バージョンB…、のように表示したい」
と要望をいただきました。

ただバージョンガントチャートプラグインでは、チケットレベルの表示をしていないので、
かわりにRedmineのファイルをいじってバージョン別に並べ替えられないか試してみました。

コントローラやモデルを変更すると大変そうだったので、今回は
app/views/issues/gantt.rhtmlを編集しました。
82行目の# Tasks subjectsというコメントの下に、以下のコードを挿入して、
ファイル保存してから再読み込みをしてください。

@gantt.events.sort! { |x,y|
x_version = x.is_a?(Issue) ? x.fixed_version : x
y_version = y.is_a?(Issue) ? y.fixed_version : y
if x_version == nil && y_version == nil then
comparing_result = 0
elsif x_version == nil
comparing_result = 1
elsif y_version == nil
comparing_result = -1
elsif
comparing_result = x_version <=> y_version
end

comparing_result = x.start_date <=> y.start_date if comparing_result == 0
comparing_result
}


↓できあがりは、こんな感じです。
sorted_gantt_chart


とりあえず、該当するチケットをはさんで表示することはできたけど、
表示期間外のバージョンが表示されないなかったり、
結局どのバージョンに属してるかわかりにくかったりでイマイチ…。

Redmine0.9でガントチャートは大幅に変更されるらしいので、それに期待ですかね…。

バージョンガントチャートPlugin 0.1

Project Hosting on Google Codeでプラグインを公開しました。

ユーザごとのバージョンの進捗率を表示するだけの簡単なプラグインです。
なんとなく全体の進捗を把握するのには便利に使えると思います。
(プラグインの概要、チャートの見方は過去記事を参照)

インストールは、vender/pluginsディレクトリに展開するだけでOKです。
既にある項目を読んでくるだけなのでdb:migrateも、必要ないはず。
(Redmineの0.8.5での動作は確認しました)

テーマ : プログラミング
ジャンル : コンピュータ

バージョンガントチャートPlugin 0.1 完成

version_gantt_screen.png


プラグインの概要


Redmineに登録したチケットとバージョンの情報から、
開発者ごとの作業負荷とタスクの進捗状況をざっくりと確認できるプラグインをつくってみました。

標準のガントチャート表示機能は綺麗に表示できるんだけど、開始日と期限日の入力と更新が面倒で使わなくなってしまった。
なので、できるだけ「少ない入力項目」で、「大雑把な進捗」を確認できるものを目標にしています。

入力項目


バージョンガントチャートを表示させるために必要な入力項目は、
チケットの担当者
チケットの'Target Version'
の2つ。

必須じゃないけれど入力しておいた方が良い項目は、
バージョンの期日(未設定時は常に昨日)
チケットのステータス(進捗%とどちらかだけでもOK)
チケットの進捗%(ステータスとどちらかだけでもOK)
チケットの予定工数(未設定時は6時間で計算)
の4つ。

チャートの意味


これらの情報から、バージョンごとに各ユーザが担当しているタスクをガントチャート風に表示します。
バーの右端がバージョンの期日で、そこから左伸びるバーの長さが作業完了までに必要な日数です。
バーは進捗が分かるように色分けして表示します。
濃い緑:終了ステータスになっている割合
薄い緑:終了ステータス以外で完了している割合(進捗%)
赤:作業が遅れてる割合
グレー:作業予定の割合

ついでにバージョンの期日に間に合わなくなると、バーの右側に赤い菱形で終了予想日を表示します。
一番右側には"バージョン名称"-"プロジェクト名称”をラベルとして表示しています。

今後


一日の作業可能時間が6時間で固定だったり、休日のことを全然考えてなかったりするので、その辺を直すか、
公開するにはどうすればいいのか調べてみる予定。

テーマ : プログラミング
ジャンル : コンピュータ

プロフィール

tenma

Author:tenma


AI好きのプログラマ
基本伊豆ダイバー(100本達成)
ゲーム実況好きのニコ厨(プレミアム会員)


follow _tenma at http://twitter.com

最新記事
最新コメント
最新トラックバック
カテゴリ
検索フォーム
リンク
FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。