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

如何在AssertJ中否定断言?

张宝
2023-03-14

使用Hamcrest可以很容易地否定匹配器。例如。您可以这样编写断言:

assertThat("The dog bites Tom", not(stringContainsInOrder(Arrays.asList("Tom", "dog"))));
assertThat("1234xxx5678").containsOnlyDigits();

共有1个答案

太叔烨霖
2023-03-14

不可能组合普通的断言方法,这是Hamcrest比AssertJ更灵活的一个领域。

在您的例子中,我将按照您的建议编写一个条件,或者使用lambda withmatches断言。

 类似资料:
  • 我正在阅读使用Assertj验证结果的测试类。偶尔,我会发现一个没有断言的断言。 是否有可能在开发周期的某个地方识别这些类?我的第一个猜测是使用自定义声纳规则。虽然我不明白应该如何定义这个方法后面应该跟一个断言(返回void的方法?)。

  • 我有两门课: 还有我的测试: 我希望它能通过,因为解包装可选,将转换为,在最后一个方法中,我只是比较字符串。 但它在最后一行失败了: 我不知道为什么可选包装没有打开

  • 我正在对Java8 lambdas使用AssertJ方法,并将一些字段映射到BigDecimal,然后断言生成的数组。但是我需要使用来比较BigDecimal,而不是使用(正因为如此)。我该怎么做? 示例: 编辑:我正在寻找一种流畅的方法来实现这一点,因为我当然可以将其拆分为多个不同的断言,并以这种方式进行比较,或者将所有内容放在一个巨大的

  • 我目前正在使用Cucumber和Java开发一个基于Selenium的BDD测试自动化框架。我的框架使用Junit,由于Junit不支持软断言,所以我尝试在测试中使用AssertJ断言。然而,这些断言似乎不起作用。让我试着借助下面的代码来解释这一点:

  • 问题内容: 使用GCC 4.8.2(在Linux / Debian / Sid 64位上)或GCC 4.9(在C ++ 11中可用)-我有一些互斥锁 实际上,它是某个类的成员,同时包含下面的和方法。 它被锁定像 我想检查一下确实被锁定了: (仅在内部调用的通知。。。效率可能非常低下,有时甚至不准确) 当然,我还有其他函数调用,例如 但不存在。…我应该如何定义它?(实际上,我想确保互斥体已被某些[间