【问题标题】:EasyMock - CreateNiceMockEasyMock - CreateNiceMock
【发布时间】:2016-08-08 16:55:05
【问题描述】:

关于 EasyMock 的一个相当简单的问题。阅读大量资源,但不确定我缺少什么:

以下 sn-p 正在使用 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());
    }
}

假设 School 类有一个简单的 getter 'getSchoolNumber',它返回一个整数。

上面的 sn-p 正在向控制台打印一个“null”。由于我正在创建一个“不错的”模拟,“getSchoolNumber”不应该返回默认值 0 吗?在创建漂亮的模拟时我错过了什么吗?

【问题讨论】:

    标签: easymock


    【解决方案1】:

    来自documentation

    如果您想要一个默认允许所有方法调用并返回适当的空值(0、null 或 false)的“漂亮”模拟对象,请改用 niceMock()。

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

    【讨论】:

    • 谢谢朱利安!你是对的,我应该抓住它。感谢您指出!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    相关资源
    最近更新 更多