Skip to content
This repository was archived by the owner on Mar 12, 2025. It is now read-only.
This repository was archived by the owner on Mar 12, 2025. It is now read-only.

HTML Report: undefined method PHPUnit\Framework\AssertionFailedError::getComparisonFailure() #15

Closed
@Tenzian

Description

@Tenzian

When using the fail() method in the Asserts module and generating an HTML report you get a fatal error:

Fatal error: Uncaught Error: Call to undefined method PHPUnit\Framework\AssertionFailedError::getComparisonFailure()

Example

actor: AcceptanceTester
modules:
  enabled:
    - Asserts
<?php
namespace { # global namespace

    class FailsCest
    {
        public function failedAssert(AcceptanceTester $I)
        {
            $I->assertEquals(true, false);
        }

        public function passedAssert(AcceptanceTester $I)
        {
            $I->assertEquals(true, true);
        }

        public function failHard(AcceptanceTester $I)
        {
            $I->fail('Hard fail');
        }
    }
}
$ codecept run acceptance --html
Codeception PHP Testing Framework v2.4.1
Powered by PHPUnit 7.0.2 by Sebastian Bergmann and contributors.

Acceptance Tests (3) ---------------------------------------------------------------------------------------------------------------
✖ FailsCest: Failed assert (0.00s)
✔ FailsCest: Passed assert (0.00s)
✖ FailsCest: Fail hard (0.00s)
Fatal error: Uncaught Error: Call to undefined method PHPUnit\Framework\AssertionFailedError::getComparisonFailure() in /Users/Tenz/Repositories/Codeception/vendor/codeception/phpunit-wrapper/src/ResultPrinter/HTML.php:300
Stack trace:
#0 /Users/Tenz/Repositories/Codeception/vendor/codeception/phpunit-wrapper/src/ResultPrinter/HTML.php(252): Codeception\PHPUnit\ResultPrinter\HTML->cleanMessage(Object(PHPUnit\Framework\AssertionFailedError))
#1 /Users/Tenz/Repositories/Codeception/vendor/phpunit/phpunit/src/Framework/TestResult.php(348): Codeception\PHPUnit\ResultPrinter\HTML->addFailure(Object(Codeception\Test\Cest), Object(PHPUnit\Framework\AssertionFailedError), 6.5803527832031E-5)
#2 /Users/Tenz/Repositories/Codeception/src/Codeception/Test/Feature/ErrorLogger.php(23): PHPUnit\Framework\TestResult->addFailure(Object(Codeception\Test\Cest), Object(PHPUnit\Framework\AssertionFailedError), 6.5803527832031E-5)
#3 /Users/Tenz/Repositories/Codeception/src/Codeception/Test/Test.php(107): Codeception\Test\Test->errorLoggerEnd( in /Users/Tenz/Repositories/Codeception/vendor/codeception/phpunit-wrapper/src/ResultPrinter/HTML.php on line 300



FATAL ERROR. TESTS NOT FINISHED.
Uncaught Error: Call to undefined method PHPUnit\Framework\AssertionFailedError::getComparisonFailure() in /Users/Tenz/Repositories/Codeception/vendor/codeception/phpunit-wrapper/src/ResultPrinter/HTML.php:300
Stack trace:
#0 /Users/Tenz/Repositories/Codeception/vendor/codeception/phpunit-wrapper/src/ResultPrinter/HTML.php(252): Codeception\PHPUnit\ResultPrinter\HTML->cleanMessage(Object(PHPUnit\Framework\AssertionFailedError))
#1 /Users/Tenz/Repositories/Codeception/vendor/phpunit/phpunit/src/Framework/TestResult.php(348): Codeception\PHPUnit\ResultPrinter\HTML->addFailure(Object(Codeception\Test\Cest), Object(PHPUnit\Framework\AssertionFailedError), 6.5803527832031E-5)
#2 /Users/Tenz/Repositories/Codeception/src/Codeception/Test/Feature/ErrorLogger.php(23): PHPUnit\Framework\TestResult->addFailure(Object(Codeception\Test\Cest), Object(PHPUnit\Framework\AssertionFailedError), 6.5803527832031E-5)
#3 /Users/Tenz/Repositories/Codeception/src/Codeception/Test/Test.php(107): Codeception\Test\Test->errorLoggerEnd( 
in /Users/Tenz/Repositories/Codeception/vendor/codeception/phpunit-wrapper/src/ResultPrinter/HTML.php:300

Cause

getComparisonFailure is a method of ExpectationFailedException, not AssertionFailedError

https://github.com/sebastianbergmann/phpunit/blob/489bd4bee689ef05308d6ae6ec7c7b3682b93c6c/src/Framework/ExpectationFailedException.php#L37-L44

and fail() does not throw an ExpectationFailedException.

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