Test assertions for booleans can be simplified

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

ID: java-best-practices/simplify-test-assertions-boolean

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 a not operator (!) in assertTrue or assertFalse methods and suggests replacing the operator with the assertTrue or assertFalse 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(!something); // could be assertFalse(something);
        assertFalse(!something); // could be assertTrue(something);
    }
}

Compliant Code Examples

import org.junit.Test;
import static org.junit.Assert.*;

class Foo {
    Object a,b;
    @Test
    void testFoo() {
        assertFalse(something);
        assertTrue(something);
    }
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis