这是我测试类的基础:
public class MyClass {
public void myMethod() {
if (condition) {
Message message = null;
throw new MyException(message.getMessgae()); // throws NullPointerException
}
}
}
我想测试类,myMethod是否抛出MyException。 message在测试实例中为null,因为在另一个使用实例中,spring bean来自属性文件,其中value存在。 因为消息返回NullPointerException,所以myTest没有传递:
public class MyClassTest {
@Test
public void testMyMethod() {
try {
MyClass myClass = new MyClass();
myClass.myMethod();
fail;
} catch(MyException e) {
}
}
}
如果可能的话,我的想法是创建模拟MyException或crate mock of message.getMessgae()。我不知道怎么......
答案 0 :(得分:0)
我认为您希望使用 PowerMockito 来模拟MyException
中使用的MyException(message.getMessage())
的参数化构造函数,以便构造函数实际上不会尝试调用{{1}在null对象上。
详细解释了here。