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

验证已在Assertj中调用断言

邵劲
2023-03-14

我正在阅读使用Assertj验证结果的测试类。偶尔,我会发现一个没有断言的断言。

assertThat(object.getField());

是否有可能在开发周期的某个地方识别这些类?我的第一个猜测是使用自定义声纳规则。虽然我不明白应该如何定义这个方法后面应该跟一个断言(返回void的方法?)。

共有1个答案

阎涵容
2023-03-14

SonarJava有规则S2970“断言应该完成”,它可以在没有断言的情况下检测AssertThateAssertJ、Fest和truth。

参见:https://rules.sonarsource.com/java/rspec-2970

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

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

  • 浏览AssertJ的API时,我似乎没有发现任何涉及Mockito行为的内容。验证现在我的断言都使用AssertJ fluent API,还有Mockito。验证哪一种是破坏断言流的。 有没有类似的方法来验证我错过的AssertJ中的方法没有被调用、只被调用一次等?

  • 基本上,问题是是否有AssertJ(首选)或JUnit断言: 我的测试类(CUT)扩展了JAXB的。解组XML文件时,它应该保证相等的对象恰好存在一次。为了验证这一点,我的测试当前看起来是这样的(在示例中,标准ctor创建相等对象):