3
now()
のLocalDate
のみをモックしたいのですが、PowerMockを使用してください。 thenReturn
値を無視していているようです:PowerMockを使用してLocalDate.now()をモックする方法
java.lang.AssertionError:
Expected :2008
Actual :2017
テストのセットアップ:
@PrepareForTest(LocalDate.class)
@RunWith(PowerMockRunner.class)
public class UserTest {
@Test
public void nowShouldReturnSameYear() throws Exception {
LocalDate expected = LocalDate.parse("2008-04-04");
PowerMockito.spy(LocalDate.class);
when(LocalDate.now()).thenReturn(parse);
Foo foo = new Foo();
assertEquals(expected.getYear(), foo.getRightNow().getYear());
}
Foo.java
public LocalDate getRightNow(){
final LocalDate rightNow = LocalDate.now();
return rightNow;
}