为什么JUnit不提供assertNotEquals方法?

问题:

有没有人知道为什么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.*;

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Why doesn’t JUnit provide assertNotEquals methods?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

5 + 1 =