今天在与 Mockito 和 spring 一起工作时,我对这种情况感到震惊,
public class MyClass {
private MyService myService;
int doSomethingElse(String str) {
.....
myService.doSomething(str);
...
}
}
public interface MyService {
String doSomething(String str);
}
public class Class1 {
private MyClass myClass;
public Stirng methodToBeTested() {
myClass.doSomethingElse("..");
}
}
public class class1Test {
@Mock
MyService myService;
@Resource
@Spy
@InjectMocks
MyClass myClass;
@Resource
@InjectMocks
Class1 class1;
public void setUPTest() {
MockitoAnnotations.initMocks(this);
}
@Test
public void methodToBeTestedTest() {
this.setUPTest();
...
class1.methodToBeTested();
}
}
在这里,我想模拟“MyService”。但是 MyService 用于 "MyClass" 并用于 "Class1" 。
我想用spring初始化“MyClass”和“Class1”。
当我尝试运行此测试时,出现以下异常
org.mockito.exceptions.base.MockitoException:无法模拟/监视类 $Proxy79 Mockito 无法模拟/监视以下:-最终类-匿名类-原始类型
谁能帮我这个?