这是我的代码段:
PowerMockito
.doThrow(new Exception())
.when((spy),
method(Mocked.class, "privateMethod", MyParameter.class))
.withArguments(parameter);
actualObject.publicMethod();
在这里,我有一个调用privateMethod
的公共方法。我有一个Mocked类,我声明为:
@InjectMocks
Mocked mocked;
但是通过这样做,Mockito在进入模拟类时不会抛出任何异常,并且当遇到私有方法时它不会抛出异常。
在when()
中,是否应该总是有间谍对象,但问题是JUnit实际上运行私有方法,这是我不想要的。我需要在调用此私有方法时简单地抛出异常,因此我可以覆盖所有catch块(这不会发生)。
答案 0 :(得分:0)
为班级添加@PrepareForTest。