有人知道为什么 JUnit 4 提供 assertEquals(foo,bar)
而不是 assertNotEqual(foo,bar)
方法吗?
它提供了assertNotSame
(对应assertSame
)和assertFalse
(对应assertTrue
),所以看起来奇怪的是他们没有打扰包括 assertNotEqual
。
顺便说一句,我知道 JUnit-addons 提供了我正在寻找的方法。我只是出于好奇而问。
我建议您使用较新的 assertThat()
style asserts,可以轻松描述各种否定,并自动构建一个描述你期望什么以及如果断言失败你得到什么的描述:
assertThat(objectUnderTest, is(not(someOtherObject)));
assertThat(objectUnderTest, not(someOtherObject));
assertThat(objectUnderTest, not(equalTo(someOtherObject)));
所有三个选项都是等效的,选择你认为最易读的一个。
要使用方法的简单名称(并允许这种时态语法起作用),您需要这些导入:
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
我是一名优秀的程序员,十分优秀!