Test assertions using equals comparison can be simplified
このページは日本語には対応しておりません。随時翻訳に取り組んでいます。
翻訳に関してご質問やご意見ございましたら、
お気軽にご連絡ください。
ID: java-best-practices/simplify-test-assertions-equals
Language: Java
Severity: Notice
Category: Best Practices
Description
Test assertions can be made more concise through the utilization of a more specialized assertion method.
This rule checks for the use of equals
in assertTrue
or assertFalse
methods and suggests replacing with either an assertEquals
or assertNotEquals
method.
This enhances the error message clarity and improves the overall readability of the assertion for other developers.
Non-Compliant Code Examples
import org.junit.Test;
import static org.junit.Assert.*;
class Foo {
Object a,b;
@Test
void testFoo() {
assertTrue(a.equals(b)); // could be assertEquals(a, b);
assertTrue(!a.equals(b)); // could be assertNotEquals(a, b);
assertFalse(a.equals(b)); // could be assertNotEquals(a, b);
assertFalse(!a.equals(b)); // could be assertEquals(a, b);
}
}
Compliant Code Examples
import org.junit.Test;
import static org.junit.Assert.*;
class Foo {
Object a,b;
@Test
void testFoo() {
assertEquals(a, b);
assertNotEquals(a, b);
assertNotEquals(a, b);
assertEquals(a, b);
}
}