Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.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 如何在未修改的类中模拟异常_Java_Spring_Unit Testing_Mocking - Fatal编程技术网

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


详细解释了该设置。

对不起,什么?向我们展示您想要测试的代码,并解释您试图测试的行为