相关疑难解决方法(0)

如何使用JMockit模拟Date类的默认构造函数?

我想模拟默认构造函数,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)

java jmockit default-constructor

3
推荐指数
2
解决办法
1万
查看次数

标签 统计

default-constructor ×1

java ×1

jmockit ×1