Centralize your team’s knowledge, sync with your codebase, and create beautiful documentation your customers and teams will love
少し試行錯誤してしまったので書いときます。この情報はバージョンによって古くなる可能性が十分にあります。 PowerMock: 1.5 Mockito: 1.9.5 junit: 4.11 short answer PowerMockRule は使わず PowerMockRunner を使いましょう。 PowerMock? powermock - PowerMock is a Java framework that allows you to unit test code normally regarded as untestable. - Google Project Hosting いわゆるMockのアレですが、名前の示す通りPowerある感じです。staticとかをアレできるところとかが。使い方はJUnitのRunnerで指定するのが基本です。 @RunWith(PowerMockRu
Writing unit tests can be hard and sometimes good design has to be sacrificed for the sole purpose of testability. Often testability corresponds to good design, but this is not always the case. For example final classes and methods cannot be used, private methods sometimes need to be protected or unnecessarily moved to a collaborator, static methods should be avoided completely and so on simply be
論よりコードということでサンプルをつらつらと。 package study.mockito.helloworld; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.NoSuchElementException; import org.junit.Assert; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.InOrder; import org.mockito.Mock; import org.mockito.Mockito; import o
さて、結構サンプルが転がってるわけですが、(公式のドキュメントもしっかりしているし?) なんとなく古い人間としては、全Mocというよりは、spyがキモになるんじゃないのかなぁ?なんて思ったり。 もっとも、最近のDI全盛においては全mocをDIするといったケースが多々あるのでその限りではございませんが・・・ ひとまず、古い人間にjunitでモックのテストを書け。となるとこんな感じか・・ 以下の様なLogicとDaoがあって、daoが未完成で、Logicの計算部分のテストがしたい。 package logic; import dao.SettingsDao; public class CalcLogic { /** * 設定の税率で金額を求め、送料を付与して返す。 * * @param price 金額 * @return 合計金額 */ public int calcPrice(int pr
メソッドの途中で計算された値を、他のメソッドの引数として使うというケースをテストすることがままあります。 Mockitoを使ったテストは以下のようになるでしょう。 (テスト対象) public class Foo { public void doSomething() { final StringBuilder sb = new StringBuilder(); // sbに色々appendする処理 this.doOtherthing(sb.toString()); } void doOtherthing(String bar) { // 何かの処理 } } (テスト) import static org.mockito.Mockito.*; public class FooTest { @Test public void doSomething() { final Foo foo = s
EasyMockとの違い Eclipse での利用に際して org.mockito.Mockito モックの利用と妥当性検証 スタブメソッドの定義 引数の照合 メソッド呼び出しの妥当性検証 voidメソッドから例外を返却 API的に EasyMock と大きな違いはありませんが、使用感としては格段に心地良い Mockito。 [:W150] 本家 http://mockito.org/ のドキュメント(というかJavaDoc)をベースにメモ。 EasyMockとの違い Mockito では record モードと replay モードを切り替える必要がない Mockito で作成するモックは常に、EasyMock で言う NiceMock となる スタブメソッドの妥当性検証が常にオプション扱い 大きくは以上となります。具体的に、EasyMock では import static org.e
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く