在使用AssertJ库时,我感兴趣的是能够断言所有的org.assertj.core.api.Assert对象都有一个实际的断言。也就是说,下面这样的测试应该失败,因为它显然是一个错误:
import static org.assertj.core.api.Assertions.assertThat;
// ... elided ...
@Test
public void unfinishedAssertion() {
assertThat("str");
}有没有一种方法可以用AssertJ配置它,或者在JUnit @After方法中进行这种断言?
我唯一的想法是提供一个像assertThat这样的静态工厂,它返回一个代理,将所有方法调用委托给底层断言,并使用After方法断言代理至少有一次调用不是Assert#as或Assert#withFailMessage的方法,等等,但这似乎很麻烦,而且没有必要,因为库本身应该提供这种功能。
发布于 2019-05-31 09:40:47
目前,最好的方法是使用findbugs/spotbugs来警告您这种误用,详细信息请参见https://assertj.github.io/doc/#assertj-core-incorrect-usage。
希望能有所帮助。
https://stackoverflow.com/questions/56380905
复制相似问题