代码之家  ›  专栏  ›  技术社区  ›  Mohamed Taboubi

Mockito:给定类的一个实例返回相同的实例

  •  0
  • Mohamed Taboubi  · 技术社区  · 6 年前

    我试着用mockito来模拟一个服务。但是,我并没有找到一种方法告诉mockito,给定一个类的实例,它会返回相同的实例:

    比如:

      given(service.add(any(Individual.class)).willReturn(any(Individual.class));
    

    你知道我该怎么做吗?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Alexander Pankin    6 年前

    您可以分析访问参数的调用。

        given(service.add(any(Individual.class)))
                .will(invocation -> invocation.getArgument(0));
    
        2
  •  1
  •   davidxxx    6 年前

    AdditionalAnswers.returnsFirstArg() :

    when(service.add(any(Individual.class)).then(AdditionalAnswers.returnsFirstArg());
    

    或使用BDD包装器:

    given(service.add(any(Individual.class)).willReturn(AdditionalAnswers.returnsFirstArg());