Java 如何在未修改的类中模拟异常
这是我测试课程的基础:Java 如何在未修改的类中模拟异常,java,spring,unit-testing,mocking,Java,Spring,Unit Testing,Mocking,这是我测试课程的基础: public class MyClass { public void myMethod() { if (condition) { Message message = null; throw new MyException(message.getMessgae()); // throws NullPointerException } } } 我想结束测试类,不管myMethod是否抛出MyException。消息在测试实例中
public class MyClass {
public void myMethod() {
if (condition) {
Message message = null;
throw new MyException(message.getMessgae()); // throws NullPointerException
}
}
}
我想结束测试类,不管myMethod是否抛出MyException。消息在测试实例中为null,因为在另一个使用实例中,值存在于属性文件中的Springbean。
由于消息返回NullPointerException,myTest未通过:
public class MyClassTest {
@Test
public void testMyMethod() {
try {
MyClass myClass = new MyClass();
myClass.myMethod();
fail;
} catch(MyException e) {
}
}
}
我的想法是创建MyException的mock或message.getMessgae的板条箱mock(如果可能的话)。Bud我不知道如何…我想您应该使用PowerMockito来模拟MyExceptionmessage.getMessage中使用的MyException的参数化构造函数,这样构造函数就不会实际尝试调用null对象上的getMessage
详细解释了该设置。对不起,什么?向我们展示您想要测试的代码,并解释您试图测试的行为