jjzjj

thenReturn

全部标签

java - Mockito:验证(模拟)问题

尝试解决这个问题真的很困难,有人可以帮我吗?我显然在做一些根本性错误的事情我已经尝试验证每个Mock对象,但它似乎不起作用。org.mockito.exceptions.misusing.UnfinishedVerificationException:Missingmethodcallforverify(mock)here:->atcom.muuves.reservosity.service.TestProductServiceImpl.search_OneHourSlot_TwoBookingAvailable(TestProductServiceImpl.java:86)Examp

java - 如何模拟 Maven 插件环境和/或项目配置

我想为我的maven插件编写单元测试(junit4)。我找到的所有示例都使用“AbstractMojoTestCase”(junit3:-()。为了摆脱这个,我得到了answerhere。但问题是Mojos如何实例化:MyMojomyMojo=(MyMojo)lookupMojo("touch",pom);这意味着我需要为每个测试用例创建一个pom-pom是测试输入数据。但是有没有办法以某种方式模拟(我会使用Mockito)项目模型?lookupMojo(StringgroupId,StringartifactId,Stringversion,Stringgoal,PlexusConf

java - 使用 Mockito 模块化地 stub 连续方法调用

我正在尝试使用Mockito来模拟“Reader”类型的类。想想一个数据流读取器,它有读取各种数据类型的方法,并在每次读取后推进内部指针。publicinterfaceReader{intreadInt();shortreadShort();}被测类从数据流中读取各种数据结构。例如,publicclassSomethings{publicListsomethings;publicSomethings(Readerreader){somethings=newList();intcount=reader.readInt();for(inti=0;i最后,我有我的测试:publicclass

java - Junit mockito when(..).thenReturn() 抛出 NullPointerException

谁能给我解释一下下面的场景待测代码用户交易.java@OverridepublicServiceResponseget(Stringname){ServiceResponseresponse=newServiceResponse();List>exp=newArrayList>();Mapmap=newHashMap();map.put("expression","eq");map.put("property","name");map.put("value",name);exp.add(map);Listusers=userDao.getByCriteria(exp);if(!user

java - Mockito 在测试方法之外 stub

我在测试方法之外还有下面的方法privateDynamicBuildgetSkippedBuild(){DynamicBuildbuild=mock(DynamicBuild.class);when(build.isSkipped()).thenReturn(true);returnbuild;}但是当我调用这个方法时,我得到了以下错误org.mockito.exceptions.misusing.UnfinishedStubbingException:Unfinishedstubbingdetectedhere:->atLINEBEINGCALLEDFROME.g.thenRetur

java - 如何在对模拟的不同调用中返回不同的值?

我有以下代码,它从数据库中获取当前计数器值。然后它更新数据库中的计数器,然后再次检索值。intcurrent=DBUtil.getCurrentCount();DBUtil.updateCount(50);//itupdatesthecurrentcountbyadding50intlatest=DBUtil.getCurrentCount();我想以第一次调用应返回100而第二次调用应返回150的方式模拟静态方法。如何使用PowerMockito实现此目的?我正在使用TestNG、Mockito以及PowerMock。 最佳答案

java - Mockito when().thenReturn() 不能正常工作

我有一个具有2个函数的A类:函数a()返回一个随机数。调用a()并返回返回值的函数b()。在测试中我写了这个:Atest=Mockito.mock(A.class)Mockito.when(test.a()).thenReturn(35)assertEquals(35,test.a())assertEquals(35,test.b())测试在第二个断言处失败。有谁知道为什么吗?要清楚-这不是我的真实代码,而是解释我的问题的简单代码 最佳答案 由于A类是模拟的,所有方法调用都不会转到实际对象。这就是你的第二个断言失败的原因(我猜它可能

java - Mockito:基于另一个的模拟对象

我有一个模拟对象,比如Carporsche。它有4个轮子、1个挡风玻璃、1个发动机和名称Porsche。这是通过when()和thenReturn()完成的。我想创建另一个模拟的Car实例,比如trabant,它的行为(同样是when()和thenReturn())作为porsche实例,只会返回不同的名称。是否可以在第一个mock的基础上创建第二个mock而无需重复所有when()和thenReturn()步骤? 最佳答案 如何在您的测试中创建一个私有(private)方法来设置对给定模拟对象的普遍期望?

java - mockito 中的动态链接 "thenReturn"

我有一个Tuple模拟类,它的getString(0)和getString(1)方法预计会被调用n次。而不是写类似的东西,when(tuple.getString(0)).thenReturn(logEntries[0]).thenReturn(logEntries[1])...thenReturn(logEntries[n-1])我手动尝试了以下操作:OngoingStubbingstubbingGetStringZero=when(tuple.getString(0)).thenReturn(serviceRequestKey);OngoingStubbingstubbingGet

java - Mockito 如何处理 thenReturn block 中具有多个参数的重叠匹配器

我有一段测试代码试图在一般情况下在后续调用中返回两个值,但在特定情况下仅返回与该情况关联的值。代码看起来像这样:when(mockObject.method(anyString())).thenReturn(string1,string2);when(mockObject.method(eq("expectedInput1"))).thenReturn(string1);when(mockObject.method(eq("expectedInput2"))).thenReturn(string2);预期的行为是在调用mockObject.method("foo")和mockObjec