The standard assertions library methods such as org.junit.Assert.assertEquals
, and org.junit.Assert.assertSame
expect the
first argument to be the expected value and the second argument to be the actual value. For AssertJ instead, the argument of
org.assertj.core.api.Assertions.assertThat
is the actual value, and the subsequent calls contain the expected values.
What is the potential impact?
Having the expected value and the actual value in the wrong order will not alter the outcome of tests, (succeed/fail when it should) but the error
messages will contain misleading information.
This rule raises an issue when the actual argument to an assertions library method is a hard-coded value and the expected argument is not.