[英]How to write unit test with okhttp using Mockito & Spring Boot
[英]Unit test in spring using Mockito
今天和Mockito一起工作时,春天,我对这种情况感到震惊,
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无法模拟/间谍以下:-最终类-匿名类-基本类型
谁能帮我这个?
您正在测试Class1
,它仅将MyClass
作为依赖项。 MyService
与该测试无关。 您应该模拟MyClass
并测试对doSomethingElse
的调用。
如果您希望测试对MyService
doSomething
的调用,则应编写一个MyClassTest
对MyService
的依赖关系。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.