我有一个整数列表(当前),我想检查这个列表是否包含list expected中的所有元素,而不是list notExpected中的一个元素,因此代码如下所示:
List<Integer> expected= new ArrayList<Integer>();
expected.add(1);
expected.add(2);
List<Integer> notExpected = new ArrayList<Integer>();
notExpected.add(3);
notExpected.add(4);
List<Integer> current = new ArrayList<Integer>();
current.add(1);
current.add(2);
assertThat(current, not(hasItems(notExpected.toArray(new Integer[expected.size()]))));
assertThat(current, (hasItems(expected.toArray(new Integer[expected.size()]))));
这么久这么好。但当我加上
current.add(3);
for (Integer i : notExpected)
assertThat(current, not(hasItem(i)));
给了我正确的答案,但我认为我可以很容易地使用hamcrest匹配器。我使用的是junit 4.11和hamcrest 1.3
hasitems(NotExpected...)
仅在NotExpected
中的所有元素也在Current
中时才与Current
匹配。所以用线
assertThat(current, not(hasItems(notExpected...)));
您断言current
不包含notexpect
中的所有元素。
断言current
不包含notexpect
中的任何元素的一个解决方案是:
assertThat(current, everyItem(not(isIn(notExpected))));
assertThat(current, everyItem(not(isOneOf(notExpected...))));
请注意,这些匹配器不是来自hamcrest-core
中的corematchers
,因此需要添加对hamcrest-library
的依赖项。
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
</dependency>
大家都知道英文中be动词+过去分词的组合,表示的是被动的意思,所以翻译时也多直接表达为“被xx”。一般情况下这样没有大问题,但我们再三说过,“条件反射式”的翻译,是翻译中的大忌。被动语态的处理也是如此,遇到被动语态就翻译为“被xx”,就会生出许多别扭,不信可以看下面几个句子: 我被邀请来参加这台晚会 这件事情被登上了报纸 此事被讨论之后 他被命令去执行任务 这本书被许多人高度评价 在这几个句子中,
问题内容: 我想向Redis 发送一个消息,以检查连接是否正常工作,现在我可以安装了,但我现在不想安装了。那么我该如何滥用呢?基本上,我需要关闭此处发送的内容: 通过添加,我可以完全摆脱它,但是我找不到其他的东西。知道我该怎么做吗? 问题答案: 当您想使用curl时,您需要基于RESP的REST,例如webdis,tinywebdis或turbowebdis。参见https://github.co
问题内容: 没有多少人知道此功能,但是Python的函数(和方法)可以具有attribute。看哪: Python中此功能的可能用法和滥用是什么?我知道的一个很好的用法是PLY使用docstring将语法规则与方法相关联。但是自定义属性呢?是否有充分的理由使用它们? 问题答案: 我通常使用函数属性作为注释的存储。假设我想以C#的方式编写(表示某种方法应该成为Web服务接口的一部分) 然后我可以定义
首先,让我确保这不是以下问题的重复so:确保仅从iPhone访问 简而言之,我有一个应用程序使后端查找。在开发它时,我对数据使用了AES-256加密,这样只有应用程序可以读取来自后端的响应,即对来自服务器的JSON进行了加密。 在发布应用的时候,iOS发布流程说“没有证书(我猜这真的很难得到),你的应用中不能有任何类型的加密,除非是为了用户身份验证,那就OK了”。 这就不符合我的策略,坦率地说,也
问题内容: 较少使用运算符来增强嵌套]的可能性。 这会导致用父选择器替换,并导致实际选择器的权利与父选择器相结合:而不是常规附加,这将导致后代:。 现在,还可以执行以下操作: 这将导致以下结果:在此处尝试。发生替换,并且我在父选择器之前 添加 了一个选择器()。 除了我永远不会以这种方式编写代码这一事实之外,因为这可能会立即使您的样式表混乱,我的问题是: 由于未记录此功能,因此它是功能还是更可能是
本文向大家介绍为什么说cookie不可以滥用?相关面试题,主要包含被问及为什么说cookie不可以滥用?时的应答技巧和注意事项,需要的朋友参考一下 1.安全问题 2.每次请求都会携带cookie,占内存,影响带宽 3.不能跨域 4.可储存的内容少