Inspectopedia Help

JUnit assertion can be 'assertThat()' call

Reports calls to Assert.assertEquals(), Assert.assertTrue(), etc. methods which can be migrated to Hamcrest declarative style Assert.assertThat() calls.

For example:

public class SubstantialTest { @Test public void testContents(Collection<String> c, String s) { Assert.assertTrue(c.contains(s)); Assert.assertEquals(c, s); Assert.assertNotNull(c); Assert.assertNull(c); Assert.assertFalse(c.contains(s)); } }

A quick-fix is provided to perform the migration:

public class SubstantialTest { @Test public void testContents(Collection<String> c, String s) { assertThat(c, hasItem(o)); assertThat(o, is(c)); assertThat(c, notNullValue()); assertThat(c, nullValue()); assertThat(c, not(hasItem(o))); } }

This inspection requires that the Hamcrest library is available on the classpath.

Use the Statically import matcher's methods option to specify if you want the quick-fix to statically import the Hamcrest matcher methods.

Inspection options

Here you can find the description of settings available for the JUnit assertion can be 'assertThat()' call inspection, and the reference of their default values.

Statically import matcher's methods

Default: Selected

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

JUnit, 241.14841

Last modified: 12 March 2024