willowtreeapps / assertk

assertions for kotlin inspired by assertj
MIT License
757 stars 84 forks source link

displayActual is not working properly #513

Open Nokinori opened 6 months ago

Nokinori commented 6 months ago

I suspect that displayActual property is working incorrectly. Or it's function is not obvious without the documentation. Can you explain is this expected behaviour is currently actual? If yes, how can I specify custom error message?

Reproduce:

    @Test
    fun `fail test message`() {
        assertThat(
            actual = listOf("1"),
            name = "my name",
            displayActual = { "display actual" },
        ).contains("2")
    }

Actual: org.opentest4j.AssertionFailedError: expected [my name] to contain:<"2"> but was:<["1"]>

Expected: org.opentest4j.AssertionFailedError: expected [my name] to contain:<"2"> but was:<["display actual"]>]

Lib version verified: "0.26.1", "0.28.0"

evant commented 3 months ago

Finally got around explaining this here, displayActual actually controls the rendering of the subject, which is only shown when you have chained assertions. As I point out int the link this behavior is not clear and should probably be rethought.