-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Closed
Labels
feature/teamcityThe TeamCity loggerThe TeamCity logger
Description
| Q | A |
|---|---|
| PHPUnit version | >=7.4.0 |
| PHP version | 7.1.8 |
| Installation Method | Composer |
Sample:
{
"require": {
"php": "^7.1"
},
"require-dev": {
"phpunit/phpunit": "^7.4"
}
}<?php
declare(strict_types=1);
use PHPUnit\Framework\TestCase;
require_once __DIR__ . '/../vendor/autoload.php';
class JustATest extends TestCase
{
public static function setUpBeforeClass(): void
{
throw new \RuntimeException('Something\'s not quite right!');
}
public function testSomething(): void
{
$this->fail('This cannot work!');
}
}When I run this test in phpstorm i will just get "Empty test suite." with the success icon without any failed test. Full output:
PHPUnit 7.4.3 by Sebastian Bergmann and contributors.
Empty test suite.
Time: 64 ms, Memory: 2.00MB
ERRORS!
Tests: 1, Assertions: 0, Errors: 1.
Process finished with exit code 2
There seems to be an critical error in the teamcity logger (src/Util/Log/TeamCity.php). You added some "if (!$test instanceof TestCase) {return;}" in the last version and this also seem to trigger this error (or rather don't trigger an error). When I change the addError method to the following everything works like expected:
public function addError(Test $test, \Throwable $t, float $time): void
{
if (!$test instanceof TestCase && !$test instanceof TestSuite) {
return;
}I'm not sure whether this is everything to fully fix this bug. Propably the other added if-statements also have to be changed like this.
Metadata
Metadata
Assignees
Labels
feature/teamcityThe TeamCity loggerThe TeamCity logger