有没有人知道为什么JUnit 4提供了assertEquals(foo,bar)
但没有提供assertNotEqual(foo,bar)
的方法?
它提供了assertNotSame
(对应于assertSame
)和assertFalse
(对应于assertTrue
),所以它们没有包含assertNotEqual
似乎很奇怪。
顺便说一句,我知道JUnit-addons提供了我要找的方法。 我只是出于好奇而已。
模块API的一致性,为什么JUnit没有提供assertNotEquals()
的原因与JUnit从未提供以下方法的原因相同:
assertStringMatchesTheRegex(regex, str)
vs. assertStringDoesntMatchTheRegex(regex, str)
assertStringBeginsWith(prefix, str)
vs. assertStringDoesntBeginWith(prefix, str)
也就是说,在断言逻辑中提供特定的断言方法是没有止境的!
更好的做法是提供可组合的测试原语,如equalTo(...)
、is(...)
、not(...)
、regex(...)
,让程序员将它们拼接在一起以获得更好的可读性和可维护性。
assertEquals
和assertNotEquals
。 https://www.codingeek.com/tutorials/junit/a-complete-guide-to-junit-with-java-and-gradle/#6_assertions - Hitesh Garg