我想模拟final class的构造函数。示例代码如下。它不起作用。它抛出运行时异常。请帮我看看如何模拟final class的构造函数
感谢。
我知道this问题任务,但它不起作用。所有课程都不是最终的问题。在我的问题中包含最终课程。
这是容器类
public class FooClass {
public void someMethod(){
FinalClass finalClass = new FinalClass("arg1");
finalClass.printMsg();
}
}
这是最后一堂课:
public final class FinalClass {
public FinalClass() {
this("some msg");
}
public FinalClass(String arg1){
throw new RuntimeException("msg");
}
public void printMsg(){
System.out.println("success");
}
}
这是测试类:
@RunWith( PowerMockRunner.class )
@PowerMockRunnerDelegate(MockitoJUnitRunner.class)
@PowerMockIgnore({"javax.management.*", "org.apache.http.conn.ssl.*", "com.amazonaws.http.conn.ssl.*", "javax.net.ssl.*"})
@PrepareForTest({FinalClass.class})
public class FooTest {
@InjectMocks
FooClass fooClass;
@Before
public void before() throws MalformedURLException {
MockitoAnnotations.initMocks(this);
}
@Test
public void finalClass() throws Exception {
FinalClass finalClassMock = PowerMockito.mock(FinalClass.class);
PowerMockito.whenNew(FinalClass.class).withAnyArguments().thenReturn(finalClassMock);
fooClass.someMethod();
}
}
您说that question与我的问题相同。但是你尝试我的问题,因为最后的课程,这个解决方案不起作用。请仔细阅读问题。