mockito相关内容

Mockito 如何捕获传递给注入的模拟对象方法的参数?

我正在尝试测试一个内部使用 Spring AMQP 连接对象的服务类.这个连接对象是由 Spring 注入的.但是,我不希望我的单元测试实际与 AMQP 代理通信,所以我使用 Mockito 注入连接对象的模拟. /*** 正在测试的真实服务等级.具有注入的依赖项.*/公共类用户服务{@自动连线私人 AmqpTemplate amqpTemplate;公共最终字符串doSomething(最终字 ..
发布时间:2022-01-14 13:11:33 Java开发

模拟中的弹簧值注入

我正在尝试为以下方法编写测试类 公共类 CustomServiceImpl 实现 CustomService {@Value("#{myProp['custom.url']}")私人字符串网址;@Autowire私有数据服务数据服务; 我在类中的一种方法中使用注入的 url 值.为了测试这一点,我编写了一个 junit 类 @RunWith(MockitoJUnitRunner.class) ..
发布时间:2022-01-14 13:11:06 Java开发

如何模拟影响对象的无效返回方法

我正在为我的应用程序编写单元测试,我想知道 Mockito 框架是否有可能影响传递给返回模拟类的 void 方法的对象.例如,调用一个模拟验证类,该类包含一个返回 void 但通过作为参数传入的对象跟踪各种更改和元数据的方法.. public GetCartItemsOutput getCartItems(GetCartItemsInput getCartItemsInput) {CartIte ..
发布时间:2022-01-14 13:10:49 Java开发

如何通过mockito验证是否从其他具有相同类的方法调用

我想测试一些在同一个类中调用其他方法的方法.它们基本上是相同的方法,但具有不同数量的参数,因为数据库中有一些默认值.我在这个上显示 公共类 A{整数数量;整数价格;A(整数 q, 整数 v){这个数量 = q;this.price = p;}公共浮点 getPriceForOne(){退货价格/数量;}公共浮点 getPrice(int 数量){返回 getPriceForOne()*数量;}} ..
发布时间:2022-01-14 13:10:14 Java开发

Kotlin 函数的 Mockito ArgumentCaptor

考虑一个将接口实现作为参数的函数,如下所示: 接口回调{有趣的完成()}类SomeClass {有趣的doSomeThing(回调:回调){//做一点事回调.done()}} 当我想测试这个函数的调用者时,我可以做类似的事情 val captor = ArgumentCaptor.forClass(Callback::class)Mockito.verify(someClass).doSom ..
发布时间:2022-01-14 13:09:58 其他开发

如何验证调用了非模拟对象的方法?

mockito 似乎只验证是否调用了模拟对象的方法,并且模拟对象总是有类似 doReturn().when(mock object) 但是我可以创建一个模拟对象并定义 doReturn().when(mock object)然后验证另一个对象的方法是否被调用? 这就是我想要做的:我定义了一个 mockEnvironment 并且无论发生什么都返回一个响应.但是接下来我想验证一下 ano ..
发布时间:2022-01-14 13:09:33 Java开发

如何解决不必要的存根异常

我的代码如下, @RunWith(MockitoJUnitRunner.class)公共类 MyClass {私有静态最终字符串代码=“测试";@嘲笑私人 MyClassDAO 道;@InjectMocks私有 MyClassService 服务 = new MyClassServiceImpl();@测试公共无效 testDoSearch() 抛出异常 {最终字符串 METHOD_NAME = ..
发布时间:2022-01-14 13:09:26 Java开发

查找 Mockito 构造的导入静态语句

我正试图冲破我和 Mockito 之间的砖墙.试图为 Mockito 的东西获取正确的 import static 语句时,我已经把头发扯掉了.你会认为有人会扔一张桌子说 anyInt() 来自 org.mockito.Matchers 而 when() 来自org.mockito.Mockito 等等,不过这对新手来说太有帮助了,不是吗? 这种事情,尤其是与无数以星号结尾的导入语句混合时, ..
发布时间:2022-01-14 13:09:19 Java开发

如何使用 mockito 测试 REST 服务?

我是 Java 单元测试的新手,听说 Mockito 框架非常适合用于测试目的. 我已经开发了一个 REST 服务器(CRUD 方法),现在我想测试它,但我不知道怎么做? 我更不知道这个测试程序应该如何开始.我的服务器应该在 localhost 上运行,然后在该 url 上进行调用(例如 localhost:8888)? 这是我目前尝试的方法,但我很确定这不是正确的方法. @ ..
发布时间:2022-01-14 13:09:13 Java开发

Mockito:使用泛型列出匹配器

Mockito 提供: when(mock.process(Matchers.any(List.class))); 如果 process 采用 List 代替,如何避免警告? 解决方案 对于Java 8 及以上,很简单: when(mock.process(Matchers.anyList())); 对于 Java 7 及以下版本,编译器需要一些帮助.使用 anyLi ..
发布时间:2022-01-14 13:08:52 Java开发

当我运行 mockito 测试时发生 WrongTypeOfReturnValue 异常

错误详情: org.mockito.exceptions.misusing.WrongTypeOfReturnValue:updateItemAttributesByJuId() 不能返回布尔值updateItemAttributesByJuId() 应该返回 ResultRich此异常可能发生在错误编写的多线程测试中.有关并发测试的限制,请参阅 Mockito 常见问题解答. 我的代码: ..
发布时间:2022-01-14 13:08:46 Java开发

莫基托.验证方法参数

我用谷歌搜索过这个,但没有找到任何相关的东西.我有这样的东西: 对象 obj = getObject();Mockeable 模拟= Mockito.mock(Mockeable.class);Mockito.when(mock.mymethod(obj)).thenReturn(null);Testeable testableObj = new Testeable();testableObj. ..
发布时间:2022-01-14 13:08:12 Java开发

Junit 5 找实际环境配置运行测试

我的项目正在使用 spring-boot、sping-data-jpa、spring-data-rest、hibernate 我已经更新到spring boot 2.3.1. 我之前的测试用例在 Junit 4 上,我正在迁移到 Junit 5. 当我使用 junit 5 运行我的测试用例时,它正在寻找实际的环境配置,例如使用 Junit 4 的 datasource、hiber ..
发布时间:2022-01-14 13:07:43 Java开发

当父级在不同的包中时模拟受保护的父级方法

我需要在我的测试类的父类中模拟一个受保护的方法,但父类位于不同的包中,因此我的测试类无法访问该方法,因此我无法模拟它.这个问题必须有一个无需重构的解决方案 我需要使用 Powermock 和 Mockito.这是 JAR mockito-all 1.10.8 powermock-core 1.6.1 powermock-module-junit4 1.6.1 powermock- ..
发布时间:2022-01-14 13:07:28 Java开发

无法模拟 Glassfish Jersey 客户端响应对象

我在创建用于单元测试的模拟 Response 对象时遇到问题.我正在使用 org.glassfish.jersey.core.jersey-client 版本 2.3.1 来实现我的 RESTful 客户端和 mockito 版本 1.9.5 来帮助我处理模拟对象.这是我的测试代码: @Test公共无效 testGetAll() 抛出 IOException {//给定字符串预期资源 = "预期 ..
发布时间:2022-01-14 13:06:58 其他开发

使用 Mockito 模拟两个相同类型的对象

我正在使用 Mockito 编写单元测试,但在模拟注入的类时遇到问题.问题是两个注入的类是相同的类型,并且仅通过它们的 @Qualifier 注释来区分.如果我尝试简单地模拟 SomeClass.class,则不会注入该模拟,并且该对象在我的测试中为 null.我怎样才能模拟这些对象? 公共类 ProfileDAL {@注入@Qualifier("qualifierA")私人 SomeClass ..
发布时间:2022-01-14 13:06:50 其他开发