Redmineプラグインのテストを書いてくれませんか? #niigatarb

2,825 views

Published on

Niigata.rb #3 発表資料

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,825
On SlideShare
0
From Embeds
0
Number of Embeds
1,554
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Redmineプラグインのテストを書いてくれませんか? #niigatarb

  1. 1. 1 Redmineプラグインの テストを書いてくれませんか? Niigata.rb 2013/8/31 Copyright Tatsuya Saito.
  2. 2. 2 自己紹介 ● 齋藤達也 ● @two_pack ● すわにい ● Forkwell https://forkwell.com/u/two-pack ● Ruby ?
  3. 3. 3 Redmine ● 問題管理システム(Issue Tracking System )の代表格! – http://www.redmine.org – 他にもTrac、Mantis など。 – Github 、Bitbucket などにもIssue を管理する仕組みがある。 ● Ruby on Rails で実装されている! ● 最近、諸事情であまり使っていない。。。
  4. 4. 4 プラグイン ● Redmine (というか Rails )はプラグインで拡張 する仕組みがある。 – http://www.redmine.org/plugins ● プラグインも Ruby on Rails で 実装されている! (当たり前・・・)
  5. 5. 5 XLS Export Plugin ● Redmine に XLS Export Plugin というプラグインがあ ります。 – http://www.redmine.org/plugins/redmine_xls_export https://github.com/two-pack/redmine_xls_export – チケットのリストを Excel 形式で出力するプラグインです。 – よく使うものだったので、日本語のローカライズとかしまし た。 ● ただ毎回、 Zip ファイルでリリースされる・・・ – ので、勝手に Githubへ入れたアカウントがこちらです。 – そこで、機能追加したり、バグ修正したりしています。
  6. 6. 6 XLS Export Plugin のコード 私が思うに一言でまとめると れがしー
  7. 7. 7 XLS Export Plugin のテストコード ない
  8. 8. 8 で、ここに至る経緯は・・・ ● そろそろテストコード書かないとまずいよ なあ、と思っていたところ。 →  Niigata.rb ?ぴーん! → れがしーなコードを改善したい!   させてください!という人が   きっといるはずだ! www いますよね!いまでしょ!いますよね!いまでしょ!
  9. 9. 9 改善欲をかき立てるために ● 実際のれがしーな感じのところの一部 def issues_to_xls2(issues, project, query, options = {}) Spreadsheet.client_encoding = 'UTF-8' ****149 L の越えられない壁**** return xls_stream.string end
  10. 10. 10 改善欲をかき立てるために ● 実際のれがしーな感じのところの一部 def get_value_width(value) ***snips*** value.to_s.each_char do |c|   case c    when '1', '.', ';', ':', ',', ' ', 'i', 'I', 'j', 'J', '(', ')', '[', ']', '!', '-', 't', 'l'      tot_w[idx] += 0.6    when 'W', 'M', 'D'      tot_w[idx] += 1.2 ***snips*** return wdth+1.5 end
  11. 11. 11 改善欲をかき立てるために テストコードは ない
  12. 12. 12 まとめ ● Redmine は Ruby on Rails で実装され ている。 ● XLS Export Plugin はテストコードが ない。 ● Redmine プラグインのテストコードを かいてくれませんか? → いや、挑戦してみませんか! w
  13. 13. 13 参考文献 ● レガシーコード改善ガイド http://www.amazon.co.jp/dp/4798116831

×