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

带有需求的列表中的Hamcrest或assertj:test元素

孔安阳
2023-03-14

使用hamcrest和Java8,断言集合包含一个具有特定需求集的元素的最简单的方法是什么?我希望能够检索元素(如果它存在的话),并对它执行一些测试,一次性地(并且以可读的形式)。或者至少断言一个列表包含一个特定的元素,然后一次性返回它,这样我就可以对它执行一些测试。

共有1个答案

谢俊力
2023-03-14

使用AssertJ,我将尝试其中之一:

  • anysisfity(接受使用者来表示以信息性错误结尾的需求)
  • anymatch(接受谓词,错误信息较少)
  • hasonlyoneelementsatishing(接受使用者,如果正好有一个元素匹配的话)
  • haveatleastone(接受条件,类似于Hamcrest macther)

要获得一行程序,可能需要将条件使用者谓词提取到变量/字段中,而不是将其内联。

希望能有所帮助

 类似资料:
  • 所以我正在构建这个树,它有1.*个节点,每个节点都有一个列表,这个列表本身可以有1.*个节点。 树的前三个层次我可以很好地构建,但如果我不编写所有层次的代码,它就不会更好地工作,因为这些层次都很愚蠢。解决方法当然是使用某种递归方法和一个BFS。 基本上,在我的TreeBuilder类中,我希望能够调用并获得该深度的所有节点的列表。问题是我不理解如何实现方法。 我找到的所有例子都是关于二叉树的。另一

  • null > pom包含对Hamcrest-library 1.3、Hamcrest-core 1.3和JUnit 4.11(按照顺序)的显式依赖关系,正如Garrett Hall在IntelliJ 10.5中运行test时获得“nosuchmethoderror:org.hamcrest.matcher.descripmisMatch”时所建议的那样 根据JUnit文档,JUnit4.11Mav

  • 我正在使用JAXB来解封xml文件。这是我的元素特性代码,但是我想在元素特性中有一个特殊的元素顺序,像这样 我检查了一些@XmlType教程(propOrder = {}),但我找不到一种方法来订购元素列表,如这里的属性元素。 这是我的代码。 它总是抛出异常,因为我在propOrder中只定义了一个属性。但是由于属性是多重的,可能是一个或多个,我不知道如何实现它。或者你知道其他排序元素的方法吗 提

  • 问题内容: 我可以使用以下代码检查列表中是否包含大于30的项目。 但是,如何确定一个列表中是否至少有2个大于30的项目? 使用,我知道有解决方案。但是我不知道如何用来实现这一点。 问题答案: 您可以创建自己的特定匹配器,例如: 然后像这样使用它: 当然,这需要一些工作。而且不是很通用。但这有效。 另外,您可以在特定的测试方法中简单地“迭代”您的列表。

  • 问题内容: 在这里,我再次提出基本问题,但请耐心等待。 在Matlab中,将数字添加到列表中的元素非常简单: 然后是 在python中,这似乎不起作用,至少在列表上。 是否有一种简单的快速方法将单个数字加到整个列表中。 谢谢 问题答案: 如果要使用数字列表进行操作,最好使用NumPy数组: 给

  • 问题内容: 有人告诉我 编写一个函数square(a),该函数接受一个数字数组a并返回一个包含每个平方值的数组。 起初,我有 但是,由于我正在打印,而且没有像被问到的那样返回,因此这不起作用。所以我尝试了 但这仅平方我数组的最后一个数字。我如何才能使整个列表平方? 问题答案: 您可以使用列表理解: 或者您可以: 或者,您可以使用发电机。它不会返回列表,但是您仍然可以迭代它,并且由于不必分配整个新列