のデフォルトコンストラクターをモックしたい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 is sick!
}
}
}