如何在JUnit和Java中使用存根?
我使用过JUnit和Mocks,但我想知道,JUnit中的Mocks和Stubs之间有什么区别,以及如何在JUnit,Java中使用Stubs?作为具有EasyMock,Mockito等的Mocks,Stubs在Java中使用了什么?
请为 Java 中的存根提供一些示例代码。
我使用过JUnit和Mocks,但我想知道,JUnit中的Mocks和Stubs之间有什么区别,以及如何在JUnit,Java中使用Stubs?作为具有EasyMock,Mockito等的Mocks,Stubs在Java中使用了什么?
请为 Java 中的存根提供一些示例代码。
要在 junit 中使用存根,您不需要任何框架。
如果你想存根一些接口,只需实现它:
interface Service {
String doSomething();
}
class ServiceStub implements Service {
public String doSomething(){
return "my stubbed return";
}
}
然后创建新的存根对象并将其注入到测试对象。
如果要存根一个具体类,请创建子类并重写存根方法:
class Service {
public String doSomething(){
// interact with external service
// make some heavy computation
return "real result";
}
}
class ServiceStub extends Service {
@Override
public String doSomething(){
return "stubbed result";
}
}