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
Description
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
and fail()
does not throw an ExpectationFailedException
.
Metadata
Metadata
Assignees
Labels
No labels