Skip to content

Instantly share code, notes, and snippets.

@juzow13
Created February 15, 2014 07:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save juzow13/9015683 to your computer and use it in GitHub Desktop.
Save juzow13/9015683 to your computer and use it in GitHub Desktop.
import mockit.Mock;
import mockit.MockUp;
import org.junit.Before;
import org.junit.Test;
private TestTarget target;
/*
複数のテストから呼び出せるようにメソッドとして書きました。
new MockUp<ClassName>としてブロックの中は@MockのAnnotationのあとにMockしたいメソッドを書きます。
initializeの処理をMockする場合は下記のように$clinit内に書きます。
*/
private void mockMyStaticClass(){
new MockUp<MyStaticClass>(){
@Mock void $clinit() { System.out.println("こうするとコンストラクタもMockできる!"); }
@Mock boolean isNew(String someParam){ return true; }
@Mock int getYears(String someParam){ return 10; }
};
}
@Before
public void beforeEach(){
target = new TestTarget(); // この中でMyStaticClassが使われているイメージ
}
@Test
public void testSomething(){
mockMyStaticClass();
assertEquals("10 years", target.methodUsingStaticClassInside());
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment