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))); } }

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

MigrateAssertToMatcherAssert
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | JUnit

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

Availability

By default bundled with

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin

JUnit, 241.18072

Last modified: 18 June 2024