为什么 JUnit 不提供 assertNotEquals 方法?
有谁知道为什么JUnit 4提供而不是方法?assertEquals(foo,bar)
assertNotEqual(foo,bar)
它提供(对应于)和(对应于),所以他们不打扰包括似乎很奇怪。assertNotSame
assertSame
assertFalse
assertTrue
assertNotEqual
顺便说一句,我知道JUnit-addons提供了我正在寻找的方法。我只是出于好奇而问。
有谁知道为什么JUnit 4提供而不是方法?assertEquals(foo,bar)
assertNotEqual(foo,bar)
它提供(对应于)和(对应于),所以他们不打扰包括似乎很奇怪。assertNotSame
assertSame
assertFalse
assertTrue
assertNotEqual
顺便说一句,我知道JUnit-addons提供了我正在寻找的方法。我只是出于好奇而问。
我建议你使用较新的assertThat()
样式断言,它可以很容易地描述各种否定,并自动构建你期望的描述,以及如果断言失败你得到了什么:
assertThat(objectUnderTest, is(not(someOtherObject)));
assertThat(objectUnderTest, not(someOtherObject));
assertThat(objectUnderTest, not(equalTo(someOtherObject)));
所有三个选项都是等效的,选择您认为最可读的选项。
要使用方法的简单名称(并允许此时态语法工作),您需要以下导入:
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
在 JUnit 4.11 中有一个:https://github.com/junit-team/junit/blob/master/doc/ReleaseNotes4.11.md#improvements-to-assert-and-assumeassertNotEquals
import static org.junit.Assert.assertNotEquals;