当前位置: 首页 > 知识库问答 >
问题:

JUnit:assert集合包含具有特定属性的元素

史修谨
2023-03-14

如果集合包含具有特定属性值的元素,我想断言(使用JUnit,而不是任何其他依赖项,如hamcrest)。

我发现这个问题如何断言迭代包含具有特定属性的元素?使用危害冠。

一种选择是重写< code>equals方法,只检查我想要比较的属性,但这不是一个好的解决方案。

有没有一种优雅的方法可以使用JUnit 4来实现这一点,或者我应该对其进行编码并循环访问集合以检查值?

共有1个答案

沃念
2023-03-14

Java 8的流和过滤实际上可能非常优雅:

Collection<SomeObejct> myCollection = /* something */;
boolean hasAny = myCollection.stream().anyMatch(s -> s.getProperty().equals("something"));
assertTrue("Couldn't find an object with the right property", hasAny);
 类似资料:
  • 假设我想用这个签名对一个方法进行单元测试: 假设是一个具有许多属性的Pojo,其中一个属性是,通过访问。 我所关心的只是验证

  • 有人能帮我解决以下问题吗? 我已经加载了2000多个元素的map,但其中只有一个元素(当前可见)具有属性d不同于零的元素“path”。为便于理解,请参阅以下屏幕截图: 试过这个:SVG 还有这个XPath: 找到了所有这些(2000年)。 我想要的是这样的东西(尽管我找不到正确的解决方案)——故意添加了Xpath的末尾。 总之,我需要d属性(内部路径)不包含值零: 请协助,并提前感谢您。

  • 问题内容: 我想找到在其标签集中包含 所有 给定标签的项目。 以下是简化的类: 如果我这样尝试 我得到包含 任何 给定标签的项目。这不足为奇,但我希望包含 所有 给定标签的项目。所以我尝试另一种方式: 我收到错误消息。如果仅包含一个标签,它将起作用,但失败的原因不止于此。 如何在JPQL中表达呢? 问题答案: 诀窍是使用计数:

  • 问题内容: 我想找到在其标签集中包含 所有 给定标签的项目。 以下是简化的类: 如果我这样尝试 我得到包含 任何 给定标签的项目。这不足为奇,但我希望包含 所有 给定标签的项目。所以我尝试另一种方式: 我收到错误消息。如果仅包含一个标签,它将起作用,但失败的原因不止于此。 如何在JPQL中表达呢? 问题答案: 诀窍是使用计数:

  • 问题内容: 在XML文档中,我具有共享相同名称的元素,但是属性的值定义了它是什么类型的数据,并且我想从文档中选择所有具有特定值的元素。我是否需要使用XPath(如果可以,您是否可以建议正确的语法)还是有更优雅的解决方案? 这是一些示例XML: 我想选择类型为的所有子代标签的内容。 PS-我正在尝试使用PHP与Netflix API进行接口-这对我的问题无关紧要,但是如果您想提出一种更好的方法,我非

  • 问题内容: 我试图通过将所有参数元素为type_id =“ 4218”的所有“ ”元素从URL解析XML文件? XML文件: 这是我的Java代码: 这段代码给了我所有元素,我不想要,我想要属性type_id =“ 4218”的所有元素! 问题答案: XPath是您的正确选择: 并遍历