我曾经使用过JUnit和Mocks,但我想知道,JUnit中的Mocks和Stub之间有什么区别,以及如何在JUnit,Java中使用Stub?作为具有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";
}
}
问题内容: 我是第一次使用JUnit进行Java测试。我必须使用Java,并且想使用单元测试。 我的问题是:我有一个带有一些抽象方法的抽象类。但是有些方法不是抽象的。如何使用JUnit测试此类?示例代码(非常简单): 我要测试并运行。 在“JUnit常见问题解答”部分中,我找到了此链接,但我不理解作者想在此示例中说些什么。这行代码是什么意思? 问题答案: 如果您没有该类的具体实现,并且方法不是测试
我对Android有点陌生,几个小时以来一直在努力研究如何将Hamcrest matchers包括在我的测试项目中。代码看起来应该在Eclipse中运行,没有指示的错误。但是当我运行测试时,Hamcrest类没有加载。我得到“NoClassDefFoundError:org.hamcrest.Matchers”。 在过去的3个小时里,我一直在浏览论坛,发现有人以前遇到过这种情况,但运气不好。我一定
我试图用JUnit在测试会话期间正确使用Mockito来代替存根类。不幸的是,在网络上有很多关于Mockito的教程,但关于存根方法的教程较少,我想学习这项技术。 此测试由Mockito进行: 为了澄清这些是所涉及的类: 1) 控制器 2)回购接口: 3) 回购协议: 4) 验证器: 5) RecentyExceptionHandler
问题内容: 我不明白JUnit 4.8如何与Hamcrest匹配器一起工作。有内部定义了一些匹配器在。同时,也有一些 其他 的匹配器中。那么,去哪儿呢?我是否应该在项目中明确包含hamcrest JAR并忽略JUnit提供的匹配器? 特别是,我对匹配器感兴趣,并且在任何这些jar中都找不到。我还需要其他东西吗?:) 还有一个哲学问题:为什么JUnit将包包含在自己的发行版中而不是鼓励我们使用原始的