【发布时间】:2021-06-09 06:29:01
【问题描述】:
我有以下类的实现..'EmpAddress'是一个接口&'EmployeeInterfaceFactory'是一个具有静态方法'getAddressImpl'的类,它提供EmpAddress实现的类对象...我有如下JUnit方法我得到空指针异常...在实现此 JUnit 时需要帮助/建议...
***************************************************************************
public class Employee(){
private Address address = new Address();
public String getEmployeeDetails(){
String details = address.getDetails();
return details;
}
}
***************************************************************************
public Address address(){
private EmpAddress empAddress = EmployeeInterfaceFactory.getAddressImpl();
public String getDetails(){
String details = empAddress.getEmpDetails(); // Null pointer exception coming here
return details;
}
}
****************************************************
@RunWith(PowerMockRunner.class)
@PrepareForTest({EmployeeInterfaceFactory.class})
public class EmployeeTest(){
Employee emp;
EmpAddress empAddress;
@Before
public void setUp(){
emp = new Employee();
empAddress = createMock(EmpAddress.class);
mockStatic(EmployeeInterfaceFactory.class);
}
@Test
public void getEmployeeDetailsTest(){
expect(EmployeeInterfaceFactory.getAddressImpl()).andReturn(empAddress);
expect(empAddress.getEmpDetails()).adnReturn("testing data");
String result = emp.getEmployeeDetails();
}
}
【问题讨论】:
-
不,没有 JUnit 实现可用的地方。我无法更改代码。有什么方法可以模拟这些行以使 JUnit 通过?
-
@Balaji211 请发布堆栈跟踪,以便我们可以正确调试。
标签: java mockito powermockito easymock