Skip to content

seeResponseCodeIs no longer produce ComparisonFailure object when failed #65

@ymorocutti

Description

@ymorocutti

Hello,

Since 2.x, method seeResponseCodeIs is no longer generating a object ComparisonFailure within the exception when the assertion failed.

This change come from the usage of assertSame instead of assertEquals.

Based on PHPUnit, assertSame generate a ComparisonFailure object only if both values are a string or an array (https://github.com/sebastianbergmann/phpunit/blob/0c37cbcbfdc72425c984460660ac4514918b112e/src/Framework/Constraint/IsIdentical.php#L55 while assertEquals always generate it (https://github.com/sebastianbergmann/phpunit/blob/0c37cbcbfdc72425c984460660ac4514918b112e/src/Framework/Constraint/Equality/IsEqual.php)

Because of this change, the following code no longer works :

try {
    $this->seeResponseCodeIs(200);
} catch (\PHPUnit\Framework\ExpectationFailedException $e) {
    if ($e->getComparisonFailure()->getActual() === 401) {
        // Doing something else
    }
}

Is there a reason to use assertSame instead of assertEquals in this case ? Do you think it could be changed ?

Thank you for your time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions