当前位置: 首页 > 面试题库 >

给定大小的模拟列表

裴成文
2023-03-14
问题内容

我正在用嘲笑验证方法已被调用。方法:

public void createButtons(final List<Button> buttonsConfiguration) {...}

由于传递哪个列表都没有关系,因此我验证了该方法的调用方式如下:

verify(mock).createButtons(Matchers.anyListOf(Button.class));

但是,的大小List很重要。因此,哪一个都没有关系,List但是列表必须具有X个元素。

那有可能吗?


问题答案:

一种方法是使用Captor

ArgumentCaptor<List> captor = ArgumentCaptor.forClass(List.class);
verify(mock).createButtons(captor.capture());
assertEquals(x, captor.getValue().size()); // or if expecting multiple lists:
assertEquals(x, captor.getValues().size());

有关说明文件,请参见http://docs.mockito.googlecode.com/hg/org/mockito/Mockito.html#15。

您还可以使用自定义参数匹配器。该文档显示了一个完全可以满足您需要的示例:

http://docs.mockito.googlecode.com/hg/org/mockito/ArgumentMatcher.html

 class IsListOfTwoElements extends ArgumentMatcher<List> {
     public boolean matches(Object list) {
         return ((List) list).size() == 2;
     }
 }

 List mock = mock(List.class);
 when(mock.addAll(argThat(new IsListOfTwoElements()))).thenReturn(true);
 mock.addAll(Arrays.asList("one", "two"));
 verify(mock).addAll(argThat(new IsListOfTwoElements()));

例如,您还可以添加一个构造函数,以便可以指定所需的列表大小,等等。



 类似资料:
  • 我正在解决在给定大小的组中反转链表的问题,我使用的算法如下: 1) 反转大小k的第一个子列表。反转时,我跟踪下一个节点和上一个节点。将指向下一个节点的指针设为next,将指向前一个节点的指针设为prev 2)head=反向(下一个,k)-递归调用列表的其余部分 3) 返回prev,它是反向列表的新标题 我的代码示例是: 但我的输出只是颠倒了列表的前半部分! 例如:如果我的列表是:98 74 94

  • 我是深度学习的新手。我试图跟随fast.ai系列讲座,并试图在Kaggle内核中手动重现工作。 我正在努力通过Kaggle中的猫对狗的Redux。我不关心准确性,我只是想让一些东西发挥作用。 我使用的是Keras和VGG16模型,如fast中所述。当然。我还依靠本文中概述的代码来帮助我起步。 这是我的卡格尔笔记本。 我在尝试拟合我的模型时遇到了一个错误,我不知道如何解释: 以下是更多信息: 和模型

  • 我的问题很简单,但我不知道如何解决我想要的。我必须找到小于给定数字的最大数素数,如果不存在则打印消息。 代码是有效的,如果数字是10,它会打印7,但我想做2个新的修改,我找不到解决方案。例如,如果给定的数字是1,我的程序应该如何修改以打印消息?我试着写一个if-else,但是如果我用if修改了while,这将不会有帮助。第二件事,如果给定的数是素数,代码仍然会找到比给定数少的数。如果我给数字7,输

  • 问题内容: 如何在html元素(例如或)上模拟的功能? 我希望它像 问题答案: 这是我的方法。一个有效的示例在此jsFiddle中。

  • 问题内容: 我正在像这样在画布上绘制图像: 事实是图片越来越张紧,我不想要这个。如何模拟CSS属性 在cavas中绘制图像时。 查看(我目前拥有的)和(我的目标)之间的区别。 问题答案: 获得封面功能有点复杂,尽管这里有一个解决方案: 更新了 以解决特殊情况。另请参阅下面的@Yousef评论。 现在您可以这样称呼它: 它将按比例缩放图像以适合该容器的内部。 使用最后两个参数偏移图像: 希望这可以帮

  • 问题内容: 我开始使用StringTemplate 4,并且尝试从存储在数据库中的简单字符串创建模板。我用这样的东西: 现在,如果我定义的全部或少于模板定义的属性,则一切正常。现在,如果我尝试添加一个不存在的属性,则会出现以下异常: 这是有道理的。但是,似乎没有办法让我事先知道为template定义了哪些属性。我期待找到类似的东西: 但是没有这种方法。我对么?有没有办法解决? 问题答案: 您可以用