有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何模拟影响对象的void返回方法

我正在为我的应用程序编写单元测试,我想知道Mockito框架是否可能影响传递到返回模拟类void的方法中的对象。例如,调用一个模拟验证类,该类包含一个返回void但通过作为参数传入的对象跟踪各种更改和元数据的方法

public GetCartItemsOutput getCartItems(GetCartItemsInput getCartItemsInput) {
    CartItemsFilter cartItemsFilter = new CartItemsFilter();
    validator.validateCartItemsInput(getCartItemsInput, cartItemsFilter); ...

我在其他测试中模拟了validator类,但在这次测试中,我需要模拟cartItemsFilter对象的更改,我不知道该怎么做


共 (1) 个答案

  1. # 1 楼答案

    ArgumentCaptor可能也会有所帮助

    以下是从here找到的一个片段:

      ArgumentCaptor<GetCartItemsInput > argument = ArgumentCaptor.forClass(GetCartItemsInput .class);
      verify(mock).getCartItems(argument.capture());
      assertEquals(cartItemsFilter, argument.getValue());