Mock

JMockitのMockに渡す引数のチェック

with〜 を指定すると引数を完全一致以外でチェックできるようになる package tutorial; import org.junit.After; import org.junit.Assert; import org.junit.Test; import mockit.*; public class HelloWorldTest3 { @Test public void testSample1() throw…

JMockitのAnnotationを使ったテスト

前の redefineMethods を使った次のようなテストコードは package tutorial; import static org.junit.Assert.*; import mockit.*; import org.junit.After; import org.junit.Test; public class HelloWorldTest2 { static public class MockPrintStream { …

Exceptionを偽装する

JMockitのシンプルで強力なExpectations機能でテストコードが呼び出すモジュール側でのException発生も簡単に偽装できる public class Sample1 { public String sample1( String in ) { try { return "[" + Other.calc( in ) + "]"; } catch ( Exception ex …

戻り値を偽装する

JMockitではExpectatios機能を使うとターゲットクラスで呼び出しているメソッドの戻り値を偽装する事も簡単に出来る。ターゲットクラスが次のような場合で public class Sample1 { public String sample1( String in ) { return "[" + Other.calc( in ) + "]…

Expectationsを利用してテストする

HelloWorldのテストを redifineMethods を利用して行ったが、JMockitのExpectations を使ってEasyMockと同じように記録/再生させる方式でもテストできる。 これを使うと Struts2 のアクションとかのテストも比較的簡単に出来そうな気がする。 package tutor…

JMockitでMock作成

HelloWorldテストで組み込みの型(PrintStream)のMockを作成しようとして、いまいち上手くできない感じで有ったが、そもそもそれが目的ではないのでとりあえずHelloWorldのPrintStream部分を普通のクラスに変えてみた。tutorial/HelloWorld.java package tut…

HelloWorldをJMockitでテストする2

試行錯誤の末、HelloWorldのテストコードはこんな感じになった package tutorial; import java.io.PrintStream; import mockit.*; import org.junit.Test; public class HelloWorldTest2 { static class MockPrintStream extends PrintStream { public MockP…

HelloWorldをJMockitでテストする1

いわゆる Hello World を JMockit のシンプルで強力なMock機能でテストしてみる。まずは HelloWorld のコードから package tutorial; public class HelloWorld { public static void main( String av[] ) { System.out.println("Hello World"); } } で、何を…

JMockit使用時の起動パラメータ

JMockitでExpectations機能を利用する場合、JVMの起動パラメータを次のようにする必要がある。 -javaagent:フルパスのjmockit.jar=junit4例 -javaagent:c:\jmockit\jmockit.jar=junit4

JMockitについて

Unitテスト用のMockフレームワークとしてJMockitを取り込めないか調べてみたら、、、びっくりしました。JMockit最強です。フレームワーク採用決定です。 使い方はとてもシンプルで、こんなに簡単にMockを使ったテストが出来るのかと、今までどうして知らなか…