Mock ich möchte nur die now()
von LocalDate
mit PowerMock verspotten. Es scheint, dass es den thenReturn
Wert ignoriert:Wie man nur LocalDate.now() mit PowerMock Mock
java.lang.AssertionError:
Expected :2008
Actual :2017
Testaufbau:
@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;
}