test plugins
Post on 26-Jun-2015
1.761 Views
Preview:
TRANSCRIPT
テスト関連プラグイン vol.1
2
はじめに
テスト(主に単体)で使えるプラグインたちをデモを交えて簡単に紹介
役に立つツールがある・・・かも!?
3
自己紹介
HN ykhr だったり ykhr-kokko だったり
お仕事 Java での開発 ちょっと前まで、テスト関連の研究開発をやってま
した 最近、転職しました
活動 http://d.hatena.ne.jp/ykhr-kokko Choco Project
• 変なものばかり作ってます ( ゚ー゚ ;A
4
もくじ
1. 実行系2. カバレッジ系3. テスト実行支援系4. 静的テスト系5. 小物系6. その他
※カテゴリーはかなり適当
5
1. 実行系2. カバレッジ系3. テスト実行支援系4. 静的テスト系5. 小物系6. その他
6
JUnit プラグイン
JUnit 関連にまつわるプラグイン。 Eclipse に始めから入ってるし、知らない人はい
ないよね?
機能(主なもの) テストケースの実行・結果表示 テストケースの雛形の作成 実行結果の XML 出力( Eclipse3.3 から)
7
TestNG
TestNG のプラグイン版。 http://testng.org/doc/eclipse.html 機能
JUnit とほぼ同じ View レポートの確認(デフォルトで HTML レポートが出
る)
ところで、 TestNG をプロジェクトで使ったことある人っている? ぜひ、話を聞いてみたい。
8
1. 実行系2. カバレッジ系3. テスト実行支援系4. 静的テスト系5. 小物系6. その他
9
djUnit
カバレッジを計測するツール。 http://works.dgic.co.jp/djwiki/Viewpage.do?pid=@646A5
56E6974 機能
カバレッジ計測→レポート出力・マーカー付加 Virtual Mock Object
• モックによるテストをサポートする機能
カバレッジ系に入れたが、 Virtual Mock Object の機能もいい。
djUnit のテストケースは、そのままでは Ant などから実行できなくなるのが欠点。 JUnit タスクを djunit のタスクに変更する必要がある。 Maven も動かないかも(未確認)。
10
EclEmma
カバレッジツール EMMA のプラグイン版。 http://www.eclemma.org/
ブランチカバレッジの値が出ない( EMMA 自体がブランチを取得していないので)。
個人的に、見た目は一番好き。 ソースの色分け表示がきれい。 1 行のうち、一部しか実行されていない行も区別が
つく。
11
1. 実行系2. カバレッジ系3. テスト実行支援系4. 静的テスト系5. 小物系6. その他
12
Quick JUnit
実装コードとテストコードの切り替えを簡単に行うためのプラグイン。
http://quick-junit.sourceforge.jp/
テストコードを右クリックから実行することもできる。 今の Eclipse は同様のことができるけど、昔はでき
なかったんだっけ?
ショートカットコマンドも備えている。 JUnit プラグインの機能にもショートカットコマンド
はあるが、 Alt + Shift + X ってとてつもなく押しにくいと思う。
13
Continuous Testing
テストケースを保存したタイミングでテストを実行するプラグイン。 失敗したテストケースにはエラーのマーカーが付加される。 マーカーからテストを再実行できる。 実行するテストは任意に指定できる。
Eclipse3.1でしか動かなかった・・・ 最近、更新されている様子もなく、ちょっと残念。
代わりに、テストケースを保存したタイミングでそのテストケースを実行するというプラグインを作ってみました。
• コードはほとんどコピペという罠。• 逆に言えば、コピペでここまで作れるという例。
14
1. 実行系2. カバレッジ系3. テスト実行支援系4. 静的テスト系5. 小物系6. その他
15
静的テスト系
静的テストも立派なテスト!というわけで Checkstyle FindBugs PMD 最近は、 Eclipse のコンパイラもけっこういけてる。
• フォーマッタ、クリーンアップも ( ∀・ ・ ) イイ
正直、 Java ファイルを保存するたびに動作するように設定するのはウザい。でも、実装完了するたびに3ツールを動作させるのも(クリックするのが)めんどくさい。
• ( Maven とかで)夜間バッチで実行するとか、1クリックで実行できるような仕組みがあった方がいいと思う。
16
各ツールの違い(ごく簡単に)
Checkstyle 設計に関する問題、コードのフォーマットに関する問題のチェックが
多い。 ソースファイルに対しチェックを行う。 デフォルトの設定で動作させると、たいていエラー出まくり。
FindBugs API の利用誤りや問題の発生しやすいコードを検出する。 クラスファイルに対しチェックを行う。
PMD FindBugs と同じようなチェック。 ソースファイルに対しチェックを行う。
1つのツールにしか存在しないチェックルールもある。 本来はチェックの種類を選別するべきだが、デフォルトのまま使用しても効果はあるので、試しに使ってみるのもアリ。
上記 3ツールは、すべてMavenから実行できる。
17
1. 実行系2. カバレッジ系3. テスト実行支援系4. 静的テスト系5. 小物系6. その他
18
QuickREx
正規表現のテスト用。正規表現のライブラリ(サンプル集みたいなもの)が付いている。
19
XPath-Developer
XPath のテスト用。 ちょっとしたコード補完もできる。 QuickREx と同じプロジェクト。
QuickREx の HP を見ていたらたまたま発見。 なかなかよさげだったので、紹介してみました。
20
スクラップページ(w
Eclipseの機能。
回りで使っているという話はあまり聞かない ちょっとマイナー?
テストというとちょっと大げさだけどね。
21
1. 実行系2. カバレッジ系3. テスト実行支援系4. 静的テスト系5. 小物系6. その他
22
Eclipse TPTP
\ (^o^) /間に合いませんでした orzごめんなさい m(_ _)m
使ったことある方いませんか??
23
Eclipse TPTP
さくっと調べた感じだと・・・ プロファイリング ログの分析 レポートの表示
24
Jumble
Mutation Testing(変異テスト)を行うツール。 Mutation Testing:テスト対象を書き換えてテストケースを実行し、テストケースがきちんと失敗するかを検証する。テストケースがきちんと実装できているかを確認できる。
プラグイン版は、実行をラップしてるだけの簡易的なもの。 でも、プラグインから実行できるというのは大きいよね。
対応しているテストケースは、 JUnit3系のみ。
25
おまけ
ちょっとだけ。
26
おまけ1
JUnit Reporter (Choco Project) JUnit の実行結果から、 HTML レポートを出力するプラグイン。 HTML レポートは、 Ant の JUnitReport タスクと同じものを出力
する。• Eclipse3.2 系でしか動作しません(更新サボってます)。
プラグインは、人様の View に勝手に機能を追加できたりします。
27
おまけ2
JUnit 関連のプラグインの拡張ポイント org.eclipse.jdt.junit.testRunListeners
• テストの開始、終了が検知できる。• Eclipse 3.3 から deprecated となったが、これを使わなくて
も自分でリスナーを追加できる。– JUnitCore#addTestRunListener(TestRunListener)
• テストの結果は取得できない( internal 系を使うと取得できるはず・・・)。
org.eclipse.jdt.junit.junitLaunchConfigs• リファクタリングされた際に、更新する必要のある JUnitベースの起動構成を登録する???
• よくわかりませんでした。
たいした拡張ポイントではない。
28
おわりに
テスト関連といっても幅広いので、プラグインはたくさんあります。
プラグインを入れすぎると大変なことになります(なりました)。自分の好みのプラグインを選択するべし。
足りないものがあれば、案外簡単に作れちゃうのかも!?
他にもこんなのあるよーという方がいましたら、教えてください。
top related