问题描述
如果我使用 Wrapper 类类型变量作为参数 Mockito 测试用例正在通过,但是,如何为 int 原始类型变量编写 Mockito 测试用例,该变量是 ServiceImpl 中方法的参数.
If I am using a Wrapper class type variable as argument Mockito test case is getting pass but, how to write Mockito test case for int primitive type variable which is an argument to a method in ServiceImpl.
推荐答案
对于 when 的原始类型参数,
和 any
或 argThat
可能有一些问题验证
.这些以对象为中心的方法可以正确地处理副作用,但它们往往会返回 null
以获得虚拟返回值,这对于通过自动装箱的 Java 展开原语不起作用.
You may have some trouble with any
or argThat
for primitive-type arguments to when
and verify
. Those Object-centric methods do their work with side-effects correctly, but they tend to return null
for a dummy return value, which doesn't work for Java unwrapping primitives via auto-boxing.
幸运的是,org.mockito.ArgumentMatchers
类具有完整的以基元为中心的方法(我在此处列出了 int
方法):
Luckily, the org.mockito.ArgumentMatchers
class has a full complement of primitive-centric methods (of which I've listed the int
methods here):
static int anyInt()
static int eq(int value)
static int intThat(org.hamcrest.ArgumentMatcher<java.lang.Integer> matcher)
在 查看所有这些ArgumentMatchers 类的文档.
这篇关于用于 int 原语的 Mockito的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!