Instantly share code, notes, and snippets.

Embed
What would you like to do?
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