Java 由于接口或泛型抽象,Mockit方法无法工作
我试图找出Mockit为什么不适用于以下代码:Java 由于接口或泛型抽象,Mockit方法无法工作,java,generics,testng,jmockit,Java,Generics,Testng,Jmockit,我试图找出Mockit为什么不适用于以下代码: public class TestClass { @Test public void test() { Mockit.redefineMethods(ExecuterClass.class, new Object() { @SuppressWarnings("unused") public SomeService getService() {
public class TestClass {
@Test
public void test() {
Mockit.redefineMethods(ExecuterClass.class, new Object() {
@SuppressWarnings("unused")
public SomeService getService() {
return new MockSomeServiceImpl();
}
});
// Code to run test
}
}
public abstract class ExecuterClass<T,U,V,W> {
// Other methods/variables
public SomeService getService() {
return someProvider.getService();
}
}
public interface SomeService {
// Some method definitions
}
public class MockSomeServiceImpl implements SomeService {
// Some method implementations
}
有没有办法解决这个问题??最后,我希望测试使用MockSomeServiceImpl方法,而不是SomeService实现中的方法
SomeService是由WSDL生成的,因此我没有someObject.getService()返回的实现。所以我不能做Mockit.redefineMethods(SomeServiceImpl.class,MockSomeServiceImpl.class)
java.lang.IllegalAccessError: tried to access class TestClass from class ExecuterClass