我想模拟默认构造函数,java.util.date因此它不会构造一个Date表示创建时间的对象,但始终是相同的Date对象(在我2010年12月31日的示例中).我尝试用JMockit和执行此操作JUnit,但在执行下面的测试时,输出始终是Thu Jan 01 01:00:00 CET 1970.那我的模拟有Date()什么问题?
import java.util.Date;
import org.junit.*;
import mockit.*;
public class AppTest {
@Before
public void setUp() {
Mockit.setUpMocks(MockedDate.class);
}
@After
public void tearDown() {
Mockit.tearDownMocks();
}
@Test
public void testDate() {
Date today=new Date();
System.out.println(today.toString());
}
@MockClass(realClass=Date.class)
public static class MockedDate {
@Mock
public void $init() {
// Now should be always 31.12.2010!
new Date(110,11,31); //110 = 2010! 11 = December! This …Run Code Online (Sandbox Code Playgroud)