Java expect()抛出空指针
我在项目中使用PowerMock和EasyMock。调用Easymock.expect()方法调用时,我遇到空指针异常 JUnit类:Java expect()抛出空指针,java,unit-testing,junit4,powermock,easymock,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;
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
。我在这里做错了什么?您可能使用了错误的导入
你需要
import org.powermock.api.easymock.annotation.Mock;
import static org.powermock.api.easymock.PowerMock.replay;
我让代码工作了。这个问题是关于Long.class的。我手动给出了一些示例long值,mock对象正在加载
expect(infoDaoMock.getGroupInfoById(123456L)).andReturn(“testString”)
你能发布堆栈跟踪吗?模拟对象是EasyMock
的,这就是我使用EasyMock.reply(…)