问题标签 [springmockito]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何模拟 Springockito 模拟的行为?
如果我使用 Springockito 在我的 spring 上下文文件中创建一个模拟,如此处所述,我如何模拟它的一些行为?
我正在尝试做的事情:
- A 类正在测试中。
- ClassB 在 ClassA 中自动装配。
- ClassB 被 Springockito 嘲笑。
- ClassA 需要 ClassB 在其 PostConstruct 中做某事。
- 我需要模拟 ClassB 来做这件事,因为它不能也不应该真的这样做。
在不使用 Springockito(直接使用 Mockito)的情况下这样做是直接的,但我需要自动装配这些 bean 并在我的测试中使用 Spring。任何帮助表示赞赏。
java - @ReplaceWithMock 不使用 Springmockito-annotations 进行模拟
我有一门课,我正在尝试单元测试。我正在尝试使用 Mockito 对其进行测试,并使用 Springockito 和 Springockito-annotations 来解决使用 mockito 的弹簧注入。
如果我删除@ReplaceWithMock
和private RestOperations restTemplate
行,那么它会进行正确的调用,并且可以验证该值是否正确。但是,我想在处理器内部模拟 RestOperations 对象,但使用 @ReplaceWithMock 会使 restTemplate 变量为空,导致它失败。我无法弄清楚如何隔离这个成员并模拟它。
java - 在 factoryBean 返回实例之前如何处理 bean?
我发现在调用 factoryBean.getObject() 之前对 bean 进行后处理是不可能的。'resultingBean' 是一些在开始时初始化的 bean 的依赖项,因此它首先被实例化。请参阅在“MyFactoryBean”中构造“resultingBean”之前,我需要“myBeanPostProcessor”来处理“myBean”。lazy-init 和 depends-on 都没有帮助。无论如何,总是首先调用“MyFactoryBean.getObject()”。
知道如何处理吗?我故意选择 BeanPostProcessor 是因为此要求应处理在 junit @Before 方法之前设置 mocito 模拟...问题是在 @Before 方法中设置这些模拟为时已晚,因为您需要在上下文时使用它们初始化。
没有很多方法可以做到这一点,包括 ExecutionListeners、ContextLoaders、BeanFactoryPostprocessor、Runner 等等。
我正在使用springockito来模拟我的豆子。
这是完美的弹簧测试框架的一个小缺点。
spring-mvc - Mockito... 春季测试
这是我的测试课..
我的问题是,当我设置它时,第一个测试通过,因为验证是正确的 isValid 被调用了一次,但是第二个失败,因为现在验证抱怨要求 isValid 被调用了两次。我希望 mockito 上的 reset 方法重置每次测试后调用计数..
有人有什么建议吗?
springmockito - Springmockito 通过 XML 支持存根
我正在尝试使用 Springockito 网站上描述的第二个示例: https ://bitbucket.org/kubek2k/springockito/wiki/Home
但是,当调用其中一个 Mocks getter 方法时,如何对 Mock 进行存根,以便它返回我想要的内容?通过 XML 似乎不可能?
unit-testing - JUnit 测试:never() 和 times(0) 之间的区别
我只想知道 JUnit 测试中 times(0) 和 never() 有什么区别。
例如,我有用于在 mongoDB 中保存数据的测试行代码:
如果我把它写成:
两个测试都表明没有调用 save 方法。(如果我错了,请纠正我)这两者有什么区别吗?
java - 如何模拟 JdbcTemplate.queryForObject() 方法
我的方法如下所示:
请建议我将如何嘲笑这一点。
springmockito - 如何在方法java(mockito)中模拟来自另一个类的返回值
我是 mockito 新手,我想为用户验证进行单元测试。请在下面找到我要执行单元测试的方法:
正如您在上面看到的,isUserValid 方法返回一个布尔值,而我要测试的方法返回一个 ModelAndView。
请看我下面的单元测试:
当我运行单元测试时,出现以下错误:
org.mockito.exceptions.misusing.WrongTypeOfReturnValue: validateUserLogin() 不能返回 ModelAndView validateUserLogin() 应该返回布尔值
如果您不确定为什么会出现上述错误,请继续阅读。由于上述语法的性质,可能会出现以下问题,因为: 1. 此异常可能发生在错误编写的多线程测试中。有关并发测试的限制,请参阅 Mockito 常见问题解答。2. 使用 when(spy.foo()).then() 语法对 spy 进行存根。使用 doReturn|Throw() 系列方法来存根间谍更安全。更多关于 Mockito.spy() 方法的 javadocs。
有什么想法可以解决这个问题吗?
spring-mvc - java.lang.NullPointerException 当我运行我的单元测试 - 模拟
我有一个spring mvc应用程序并使用mockito进行单元测试。运行单元测试时,我不断收到空指针异常。:(
请在下面找到我的单元测试将基于的方法:
请在我的单元测试下面找到:
当我运行上面的单元测试时,请在下面找到堆栈跟踪错误消息:
基本上下面显示的第 99 行根据堆栈跟踪返回 null:
任何想法为什么我在这一行上得到空指针?但是当我运行我的应用程序时它工作正常并且failLog消息显示在我的页面上。
提前致谢。
java - 如何使用 mockito 测试 ehcache?
我的辅助方法使用 ehcache,以减少对 Db 的查询。现在想实现JUnit+Mockito测试,确保ehcache正常工作。有这样的测试变体:
测试方法是:
这非常有效。在测试中,我确信在调用方法后我会在缓存中得到一些东西。如您所见,我还验证了在 db 服务中调用方法 getAllItems。这对于第一次调用很有用。接下来,我在同一个测试中添加了对 discountHelper.getAllDiscountsUsingCache() 的第二次调用,如下所示:
所以我只想检查在第二次调用时不会通过方法 getAllItems 通过此验证调用 DB 服务: verify(service, times(0)).getAllItems(eq(Discount.TABLE_NAME)); 并且结果将从缓存中获取。
但它不起作用,我仍然调用 DB 方法。我找到本教程http://blog.goyello.com/2010/07/29/quick-start-with-ehcache-annotations-for-spring/并尝试使用委托对象进行 ehcache 测试的变体,但它仍然调用 db 方法在测试。怎么了?顺便说一句,正如我在 tomcat 的日志中看到的那样,在生产环境中 ehcache 工作得很好,所以这是一个测试问题。任何建议如何解决它?