草庐IT

mockito-kotlin

全部标签

java - Mockito 与 JMock

我正在尝试将我的一些单元测试从使用JMock转换为使用Mockito,但遇到了一些障碍。首先在我的测试中,当使用JMock时,stub的验证和返回发生在一个步骤中,如下所示contextMockery.checking(newExpectations(){{oneOf(dateUtilityService).isBeforeToday(URGENT_DATE);will(returnValue(true));}});这实质上验证了该方法正在被调用并同时返回固定值。如果未调用isBeforeToday方法并同时返回我的固定值true,则测试失败。而在使用Mockito时,我必须验证是否正

java - Mockito 抛出 UnfinishedVerificationException(可能与本地方法调用有关)

我在运行测试用例时出现以下异常:org.mockito.exceptions.misusing.UnfinishedVerificationException:Missingmethodcallforverify(mock)here:->atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)Exampleofcorrectverification:verify(mock).doSomething()Also,thiserrormightshowupbecauseyouverifyeitherof:final/privat

java - 如何使用 PowerMock 和 Mockito 模拟枚举类的实例?

我试图按照这个非常相似的问题的答案中提供的示例进行操作,但它对我不起作用。我收到以下错误消息:java.lang.IllegalArgumentException:Cannotsubclassfinalclassclasscom.myproject.test.support.ExampleEnumerableatorg.mockito.cglib.proxy.Enhancer.generateClass(Enhancer.java:447)atorg.mockito.cglib.core.DefaultGeneratorStrategy.generate(DefaultGenerato

java - 如何使用 Mockito 在 Spring Boot 中模拟异步(@Async)方法?

用mockito模拟异步(@Async)方法的最佳方法是什么?提供以下服务:@Service@Transactional(readOnly=true)publicclassTaskService{@Async@Transactional(readOnly=false)publicvoidcreateTask(TaskResourcetaskResource,UUIDlinkId){//dosomeheavytask}}Mockito的验证如下:@RunWith(SpringRunner.class)@WebMvcTest(SomeController.class)publicclass

java - 在 Spring 中使用 Mockito 模拟属性文件

我正尝试在我的Controller中为以下方法编写单元测试。@AutowiredprivateApplicationContextcontext;privateStringgetProperty(){try{Propertiesprops=context.getBean("myProperties",Properties.class);Stringval=props.getProperty("myProperty");......Bean在我的applicationContext中是这样声明的:我如何模拟它以便测试val变量的不同值?我考虑过创建一个测试属性文件并像这样模拟它:cont

java - Mockito 允许设置模拟返回值

是否可以更改从模拟对象返回的值?下面是一个解释我正在尝试做的事情的例子。publicclassMyClass{publicvoidmethod(Mockobj){if(obj.getValue.equals("value"){obj.setValue("changedValue");}anotherObj.call(obj.getValue());}所以上面的类非常简化。如果传入的值等于值,它将更改返回的值。@Testpublicvoidtest(){Mockobj=mock(Mock.class);when(obj.getValue()).thenReturn("value");te

java - Mockito:如何在测试中识别未使用的 .when()

我只是通过简化事情来重构代码的许多部分。现在我还需要重构测试,让它们再次变绿,这并不难。但现在我有点挣扎,因为我发现我不再需要我的一些.when()声明,因为这些Mock将不再被调用。问题是它们不会让我的测试变红,所以我只能通过仔细检查每个测试并将其与代码进行比较来识别它们,这有点烦人并导致它变成那样。是否有可能使未使用的.when()抛出错误或类似错误?就像永远不会发生的验证一样?像setUp:Mockito.enableDebugMode()之类的那样做就足够了,也许有这种可能性?..最佳 最佳答案 此功能已添加到Mockito

java - 如何使用 Mockito 或任何其他相关的 java 框架模拟父类(super class)方法

我的场景如下classSuperClass{publicvoidrun(){System.out.println("IamrunninginSuperclass");}}classChildClassextendsSuperClass{publicvoidchildRunner(){System.out.println("Step1");System.out.println("Step2");**run();**System.out.println("LastStep");}}现在我想测试ChildClass的childRunner()方法,因为这个方法在内部调用父类(supercla

java - Gradle 5 Kotlin DSL : Common Tasks & Maven Artifacts in multi-modules projects

我真的很想欣赏Gradle5,尤其是与新的KotlinDSL结合使用,但我很难(在我看来)使用Gradle运行一个非常非常简单和通用的构建。任务发布一个Java库,其中包含Maven默认目录布局中的多个相互依赖的子模块作为高质量的MavenArtifact/存储库-point,简单的Gradle构建(即DRY)。因此:有一个根项目作为保护伞,它定义并包含所有通用配置(实际上除了真正的依赖项之外的所有配置)。我目前的挣扎我将当前的“结果”移植到asampleprojectonGithub和askedthisquestionintheGradleforumalready.目前,我未能声明在

java - 将 Mockito 用于 HTTP 客户端

我有一个stub的JSON对象,但需要使用Mockito模拟以下内容:HttpResponseresponse=defaultHttpClient.execute(postRequest);BufferedReaderrd=newBufferedReader(newInputStreamReader(response.getEntity().getContent()));StringBuilderresult=newStringBuilder();while((line=rd.readLine())!=null){result.append(line);}JSONObjectjsonR