-
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
<?php | ||
|
||
declare(strict_types=1); | ||
|
||
/** | ||
* Copyright (c) 2021-2023 Andreas Möller | ||
* | ||
* For the full copyright and license information, please view | ||
* the LICENSE.md file that was distributed with this source code. | ||
* | ||
* @see https://github.com/ergebnis/phpunit-slow-test-detector | ||
*/ | ||
|
||
namespace Ergebnis\PHPUnit\SlowTestDetector\Test\EndToEnd\Version08\TestCase\WithAfterClassAnnotation; | ||
|
||
use Ergebnis\PHPUnit\SlowTestDetector\Test; | ||
use PHPUnit\Framework; | ||
|
||
/** | ||
* @covers \Ergebnis\PHPUnit\SlowTestDetector\Test\Fixture\Sleeper | ||
*/ | ||
final class SleeperTest extends Framework\TestCase | ||
{ | ||
/** | ||
* @afterClass | ||
*/ | ||
public static function sleepWithAfterClassAnnotation(): void | ||
{ | ||
Test\Fixture\Sleeper::fromMilliseconds(100)->sleep(); | ||
} | ||
|
||
public function testSleeperSleepsLessThanMaximumDurationFromXmlConfiguration(): void | ||
{ | ||
$milliseconds = 10; | ||
|
||
$sleeper = Test\Fixture\Sleeper::fromMilliseconds($milliseconds); | ||
|
||
$sleeper->sleep(); | ||
|
||
self::assertSame($milliseconds, $sleeper->milliseconds()); | ||
} | ||
|
||
/** | ||
* @dataProvider provideMillisecondsGreaterThanMaximumDurationFromXmlConfiguration | ||
*/ | ||
public function testSleeperSleepsLongerThanMaximumDurationFromXmlConfigurationWithDataProvider(int $milliseconds): void | ||
{ | ||
$sleeper = Test\Fixture\Sleeper::fromMilliseconds($milliseconds); | ||
|
||
$sleeper->sleep(); | ||
|
||
self::assertSame($milliseconds, $sleeper->milliseconds()); | ||
} | ||
|
||
/** | ||
* @return \Generator<int, array{0: int}> | ||
*/ | ||
public static function provideMillisecondsGreaterThanMaximumDurationFromXmlConfiguration(): iterable | ||
{ | ||
$values = \range( | ||
200, | ||
300, | ||
100, | ||
); | ||
|
||
foreach ($values as $value) { | ||
yield $value => [ | ||
$value, | ||
]; | ||
} | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
<phpunit | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/8.5/phpunit.xsd" | ||
beStrictAboutChangesToGlobalState="true" | ||
beStrictAboutOutputDuringTests="true" | ||
beStrictAboutTestsThatDoNotTestAnything="true" | ||
beStrictAboutTodoAnnotatedTests="true" | ||
bootstrap="../../../../../vendor/autoload.php" | ||
cacheResult="false" | ||
colors="true" | ||
columns="max" | ||
executionOrder="default" | ||
forceCoversAnnotation="true" | ||
stopOnError="false" | ||
stopOnFailure="false" | ||
stopOnIncomplete="false" | ||
stopOnSkipped="false" | ||
verbose="true" | ||
> | ||
<extensions> | ||
<extension class="Ergebnis\PHPUnit\SlowTestDetector\Extension"> | ||
<arguments> | ||
<array> | ||
<element key="maximum-duration"> | ||
<integer>100</integer> | ||
</element> | ||
</array> | ||
</arguments> | ||
</extension> | ||
</extensions> | ||
<testsuites> | ||
<testsuite name="Unit Tests"> | ||
<directory>.</directory> | ||
</testsuite> | ||
</testsuites> | ||
</phpunit> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
--TEST-- | ||
With a test case that sleeps in a method with @afterClass annotation | ||
--FILE-- | ||
<?php | ||
|
||
declare(strict_types=1); | ||
|
||
use PHPUnit\TextUI; | ||
|
||
$_SERVER['argv'][] = '--configuration=test/EndToEnd/Version08/TestCase/WithAfterClassAnnotation/phpunit.xml'; | ||
|
||
require_once __DIR__ . '/../../../../../vendor/autoload.php'; | ||
|
||
PHPUnit\TextUI\Command::main(); | ||
--EXPECTF-- | ||
PHPUnit %s | ||
|
||
Runtime: %s | ||
Configuration: %s/EndToEnd/Version08/TestCase/WithAfterClassAnnotation/phpunit.xml | ||
|
||
... 3 / 3 (100%) | ||
|
||
Detected 2 tests that took longer than expected. | ||
|
||
1. 0.3%s (0.100) Ergebnis\PHPUnit\SlowTestDetector\Test\EndToEnd\Version08\TestCase\WithAfterClass\SleeperTest::testSleeperSleepsLongerThanMaximumDurationFromXmlConfigurationWithDataProvider with data set #1 (300) | ||
Check failure on line 25 in test/EndToEnd/Version08/TestCase/WithAfterClassAnnotation/test.phpt GitHub Actions / Tests (8.5.19, 7.4, lowest)
Check failure on line 25 in test/EndToEnd/Version08/TestCase/WithAfterClassAnnotation/test.phpt GitHub Actions / Tests (8.5.19, 7.4, highest)
Check failure on line 25 in test/EndToEnd/Version08/TestCase/WithAfterClassAnnotation/test.phpt GitHub Actions / Tests (8.5.19, 8.0, lowest)
Check failure on line 25 in test/EndToEnd/Version08/TestCase/WithAfterClassAnnotation/test.phpt GitHub Actions / Tests (8.5.19, 8.0, highest)
Check failure on line 25 in test/EndToEnd/Version08/TestCase/WithAfterClassAnnotation/test.phpt GitHub Actions / Tests (8.5.19, 8.1, lowest)
Check failure on line 25 in test/EndToEnd/Version08/TestCase/WithAfterClassAnnotation/test.phpt GitHub Actions / Tests (8.5.19, 8.1, highest)
Check failure on line 25 in test/EndToEnd/Version08/TestCase/WithAfterClassAnnotation/test.phpt GitHub Actions / Tests (8.5.19, 8.2, lowest)
Check failure on line 25 in test/EndToEnd/Version08/TestCase/WithAfterClassAnnotation/test.phpt GitHub Actions / Tests (8.5.19, 8.2, highest)
Check failure on line 25 in test/EndToEnd/Version08/TestCase/WithAfterClassAnnotation/test.phpt GitHub Actions / Tests (8.5.19, 8.3, lowest)
|
||
2. 0.2%s (0.100) Ergebnis\PHPUnit\SlowTestDetector\Test\EndToEnd\Version08\TestCase\WithAfterClass\SleeperTest::testSleeperSleepsLongerThanMaximumDurationFromXmlConfigurationWithDataProvider with data set #0 (200) | ||
|
||
Time: %s, Memory: %s | ||
|
||
OK (3 tests, 3 assertions) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
<?php | ||
|
||
declare(strict_types=1); | ||
|
||
/** | ||
* Copyright (c) 2021-2023 Andreas Möller | ||
* | ||
* For the full copyright and license information, please view | ||
* the LICENSE.md file that was distributed with this source code. | ||
* | ||
* @see https://github.com/ergebnis/phpunit-slow-test-detector | ||
*/ | ||
|
||
namespace Ergebnis\PHPUnit\SlowTestDetector\Test\EndToEnd\Version09\TestCase\WithAfterClassAnnotation; | ||
|
||
use Ergebnis\PHPUnit\SlowTestDetector\Test; | ||
use PHPUnit\Framework; | ||
|
||
/** | ||
* @covers \Ergebnis\PHPUnit\SlowTestDetector\Test\Fixture\Sleeper | ||
*/ | ||
final class SleeperTest extends Framework\TestCase | ||
{ | ||
/** | ||
* @afterClass | ||
*/ | ||
public static function sleepWithAfterClassAnnotation(): void | ||
{ | ||
Test\Fixture\Sleeper::fromMilliseconds(100)->sleep(); | ||
} | ||
|
||
public function testSleeperSleepsLessThanMaximumDurationFromXmlConfiguration(): void | ||
{ | ||
$milliseconds = 10; | ||
|
||
$sleeper = Test\Fixture\Sleeper::fromMilliseconds($milliseconds); | ||
|
||
$sleeper->sleep(); | ||
|
||
self::assertSame($milliseconds, $sleeper->milliseconds()); | ||
} | ||
|
||
/** | ||
* @dataProvider provideMillisecondsGreaterThanMaximumDurationFromXmlConfiguration | ||
*/ | ||
public function testSleeperSleepsLongerThanMaximumDurationFromXmlConfigurationWithDataProvider(int $milliseconds): void | ||
{ | ||
$sleeper = Test\Fixture\Sleeper::fromMilliseconds($milliseconds); | ||
|
||
$sleeper->sleep(); | ||
|
||
self::assertSame($milliseconds, $sleeper->milliseconds()); | ||
} | ||
|
||
/** | ||
* @return \Generator<int, array{0: int}> | ||
*/ | ||
public static function provideMillisecondsGreaterThanMaximumDurationFromXmlConfiguration(): iterable | ||
{ | ||
$values = \range( | ||
200, | ||
300, | ||
100, | ||
); | ||
|
||
foreach ($values as $value) { | ||
yield $value => [ | ||
$value, | ||
]; | ||
} | ||
} | ||
} |