EasyMock - CreateNiceMock

EasyMock - CreateNiceMock

关于 EasyMock 的一个相当简单的问题。阅读了一堆资源,但不确定我遗漏了什么:

以下代码片段正在使用 Test-ng 创建单元测试:

@Test(groups = "unit")
public class SchoolTestEasyMock {

    @Test
    public void test1() {
        School mockSchool = EasyMock.createNiceMock(School.class);
        EasyMock.replay(mockSchool);
        System.out.println(mockSchool.getSchoolNumber());
    }
}

让我们假设学校 class 有一个简单的 getter 'getSchoolNumber' return 是一个整数。

上面的代码片段正在向控制台打印 'null'。因为我正在创建一个 'nice' 模拟,所以 'getSchoolNumber' return 的默认值不应该是 0 吗?我在创建漂亮的模拟时错过了什么吗?

来自documentation

If you would like a "nice" Mock Object that by default allows all method calls and returns appropriate empty values (0, null or false), use niceMock() instead.

由于Integer是一个对象,默认值为null。 如果将方法的 return 类型更改为 int,则值将如预期的那样为 0