EasyMock.expect()抛出空指针

时间:2016-06-16 16:17:13

标签: java unit-testing junit4 powermock easymock

我在我的项目中使用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不为null且assertNotNull成功。

我也尝试过:

InfoDao infoDaoMock = createMock(InfoDaoMockImpl.class);

这也是NullPointerException投掷。我在这里做错了什么?

2 个答案:

答案 0 :(得分:2)

我让代码正常工作。问题出在Long.class上。我手动给了一些样本长值,并且模拟对象正在加载。

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

答案 1 :(得分:0)

您可能使用了错误的导入

你需要

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