assertj相关内容

比较忽略给定字段的地图

我觉得这里缺少明显的东西,但是文档让我失望了.我正在尝试比较两个映射,而忽略assertJ中的一组字段.我想看看这个断言的通行证: 私有静态最终String [] IGNORED_FIELDS = {"ignored","another"};私有静态最终MapTEST_PAYLOAD = ImmutableMap.of("test","payload","exam ..
发布时间:2021-05-13 20:03:05 Java开发

您可以将自定义消息添加到AssertJ assertThat吗?

我们有一个测试套件,主要使用带有Hamcrest匹配器的JUnit断言.我们的一个团队开始对 AssertJ 进行试验,并以其语法,灵活性和声明性给人留下了深刻的印象. JUnit提供的一项功能是我无法在AssertJ中找到与之等效的功能:添加自定义断言失败消息. 我们经常在比较那些不是为了人类可读性而制成的对象,这些对象将具有随机寻找的Id或UUID,并且无法通过其中包含的数据来判断它们应 ..
发布时间:2021-02-14 19:16:54 Java开发

软断言时引发的异常无法通过后续测试

按照标题,我试图循环运行一个测试用例.为了能够计算失败的断言的数量,我希望如果AssertJ试图断言方法调用的返回值,它应该软失败一次迭代并继续执行.否则,它违背了软断言的目的.这是说明这一点的代码段: public static void main(String[] args) { SoftAssertions softAssertions = new SoftAs ..
发布时间:2020-06-21 18:45:17 其他开发

AssertJ记录断言的结果

我试图了解是否可以将AssertJ配置为在不中断运行比较的路由的情况下将断言的否定结果记录到文件中. 此请求背后的原因是,我们正在比较两个软件版本生成的JSON以发现差异,但我不想手动创建所有检查,而是希望利用AssertJ中已经可用的功能. 作为一种可能的解决方案,我正在考虑对断言异常使用try/catch,但我确实担心例程的整体性能. 有什么主意吗? 解决方案 您可以 ..
发布时间:2020-06-21 18:45:12 Java开发

AssertJ的"usingComparatorForFields"如何工作?

与如何使用assertJ进行递归忽略给定字段的比较? 作为解决此问题的方法,我尝试为不希望比较器进行比较的字段装配比较器,并使其返回0. assertThat(service.postComment(12,234,comment)).usingComparatorForFields((a,b)->0,"startDate").isEqualToComparingFieldByField ..
发布时间:2020-06-21 18:45:11 Java开发

验证已在Assertj中调用了断言

我正在阅读使用Assertj验证结果的测试类. 有时,我发现一个没有断言的assertThat. assertThat(object.getField()); 是否可以在开发周期中的某个位置识别这些类?我的第一个猜测是使用自定义的Sonar规则.尽管我看不到如何定义该方法后应带有断言(方法返回void?)的方法. 解决方案 SonarJava具有规则S2970“声明应完整",该规 ..
发布时间:2020-06-21 18:45:06 Java开发

如何在AssertJ中否定断言?

使用Hamcrest,可以轻松取消匹配器.例如.您可以编写这样的断言: assertThat("The dog bites Tom", not(stringContainsInOrder(Arrays.asList("Tom", "dog")))); 即使用org.hamcrest.core.IsNot和org.hamcrest.core.AnyOf匹配器,可以轻松合并或取消断言. ..
发布时间:2020-06-21 18:45:04 其他开发

如何使用assertJ比较递归地忽略给定的字段?

AssertJ具有isEqualToIgnoringGivenFields和isEqualToComparingFieldByFieldRecursively. 但是,我无法通过忽略某些字段来递归比较两个对象.根据此讨论,它必须在开发中. 如何仍然使我的断言的返回值进行递归比较,但忽略某些字段.可以在任何其他库中使用还是可以使用AssertJ做到这一点? 解决方案 我无法让它忽 ..
发布时间:2020-06-21 18:44:57 Java开发