我是mockito的新手。
需要知道存根和时间之间的区别
1. stub(cpproxy.getBinList()).toReturn(gettestbins());
2. when(cpproxy.getBinList()).thenReturn(gettestbins());
两者之间有什么区别?
实际上,它们在技术上是相同的。最初创建Mockito时,我们是在谈论存根,因此词汇遵循了这个想法。后来人们认为最好是用 交互 而非 技术
术语来思考,因此词汇表遵循的是 ……当时……之后的 风格。词汇上的这种变化有助于人们思考 对象* 之间的 交互 , 消息传递
。在面向对象的语言( 引用Alan
Kay
)中,这是最有趣的想法( 消息传递 )。
* __ __
如今,测试方法已经发展为行为驱动开发(来自Dan
North),几乎是同一回事,但更多地侧重于设计时的行为。为了反映这种想法,人们要求Mockito提供反映这种变化的API。因此,您还可以使用
给定的…将… 样式BDDMockito
given(the_type.performs_that()).willReturn(something)
现在这是我的首选词汇,因为我使用测试来驱动对象设计。
问题内容: 因此,我开始为我们的Java Spring项目编写测试。 我使用的是JUnit和Mockito。有人说,当我使用when()… thenReturn()选项时,可以模拟服务,而无需模拟它们。所以我要做的是设置: 但是无论我执行哪一个子句,我总会得到一个NullpointerException,这当然是有道理的,因为input为null。 另外,当我尝试从对象模拟另一个方法时: 在那里,
在我的项目中,我们已经有mockito核心依赖项。我想存根静态方法,我需要为其添加mockito内联依赖项。所以想了解它们之间的区别。它们可以共存吗?
问题内容: 运行测试时出现以下异常。我正在使用Mockito进行嘲笑。Mockito库提到的提示无济于事。 来自的测试代码。当我运行以下测试时,我看到了异常。 问题答案: 您是在嘲笑内部嵌套嘲笑。在完成对的模拟之前,您正在呼叫,它会进行一些模拟。执行此操作时,Mockito不喜欢它。 更换 与 要了解为什么这会导致问题,您需要稍微了解Mockito的工作方式,并且还需要知道Java中表达式和语句按
为什么mockito打电话为存根方法。 为什么它使一个实际调用func下当... then返回我已经检查了当做调试。
虽然这个问题已经得到了回答,但我仍然不清楚在嘲弄中应该使用哪一个 当参考。我看不出它们之间有什么区别。 留档为是说 的文档中说 的留档是说 这清楚地表明,这两者之间没有区别。那么,我们为什么要采用这三种嘲弄策略,以及在当时和何时使用它们之间的具体区别。 如果它是一个带有示例代码的答案,那将非常有帮助。
我试图理解使用PowerMockito模拟静态方法进行测试的基础知识,因为我对这方面还不熟悉。我被卡住了,因为如果我使用下面提到的测试饮料,会出现非常不寻常的情况。java我得到未完成的stubging异常。 但当我换乘多伦时。。当。。然后返回异常消失。 TestDrink.java 这就是我想嘲弄的班级。 可乐JAVA 例外 如果可能,请尽量给出解释清楚的答案。