Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java expect()抛出空指针_Java_Unit Testing_Junit4_Powermock_Easymock - Fatal编程技术网

Java expect()抛出空指针

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;

我在项目中使用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
。我在这里做错了什么?

您可能使用了错误的导入

你需要

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(…)