【问题标题】:EasyMock.expect() throwing null pointerEasyMock.expect() 抛出空指针
【发布时间】:2016-06-16 16:17:12
【问题描述】:

我在我的项目中使用 PowerMock 和 EasyMock。调用 Easymock.expect() 方法调用时出现空指针异常。

JUnit 类:

import static org.easymock.EasyMock.*;
@RunWith(PowerMockRunner.class)
@PrepareForTest({InfoDao.class})
public class AdminUtilTest {

//mocking interface 
@Mock
InfoDao infoDaoMock;

@Test
    public void testSetUp() {
        assertNotNull(infoDaoMock);
    }
@Test
    public void initInfoTest() throws Exception {

  // getting null pointer exception in this line..         
         expect(infoDaoMock.getGroupInfoById(isA(Long.class))).andReturn("testString");

         replay(infoDaoMock);
        /*rest of the code*/
    }
}

testSetUp 不为空,assertNotNull 成功。

我也试过了:

InfoDao infoDaoMock = createMock(InfoDaoMockImpl.class);

这也是在抛出NullPointerException。我在这里做错了什么?

【问题讨论】:

  • 你能发布堆栈跟踪吗?

标签: java unit-testing junit4 powermock easymock


【解决方案1】:

我得到了代码工作。问题出在 Long.class 上。我手动给出了一些示例 long 值,并且正在加载模拟对象。

expect(infoDaoMock.getGroupInfoById(123456L)).andReturn("testString");

【讨论】:

    【解决方案2】:

    您可能使用了错误的导入

    你需要

    import org.powermock.api.easymock.annotation.Mock;
    import static org.powermock.api.easymock.PowerMock.replay;
    

    【讨论】:

    • 模拟对象属于EasyMock,这就是我使用EasyMock.reply(...)的原因
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 2020-11-22
    • 2020-08-10
    • 2014-07-28
    相关资源
    最近更新 更多