Skip to content

Commit fd83095

Browse files
authored
chore: upgrade to phpunit 10
1 parent 25e4831 commit fd83095

17 files changed

+329
-463
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/vendor/
22
/.build/
3-
.phpunit.cache
3+
.phpunit.result.cache
4+
.phpunit.cache/
45
/coverage/

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"ergebnis/composer-normalize": "^2.15",
2929
"ergebnis/php-cs-fixer-config": "^5.3",
3030
"http-interop/http-factory-guzzle": "^1.2",
31-
"phpunit/phpunit": "^9.5",
31+
"phpunit/phpunit": "^10.0",
3232
"psr/http-message": "^1.0.1",
3333
"roave/security-advisories": "dev-latest",
3434
"slim/slim": "^4.8",

composer.lock

Lines changed: 257 additions & 379 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

phpunit.xml

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,13 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3-
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.5/phpunit.xsd"
4-
bootstrap="vendor/autoload.php"
5-
cacheResultFile=".phpunit.cache/test-results"
6-
executionOrder="depends,defects"
7-
forceCoversAnnotation="false"
8-
beStrictAboutCoversAnnotation="true"
9-
beStrictAboutOutputDuringTests="true"
10-
beStrictAboutTodoAnnotatedTests="true"
11-
failOnRisky="true"
12-
failOnWarning="true"
13-
verbose="true">
14-
<testsuites>
15-
<testsuite name="default">
16-
<directory>tests</directory>
17-
</testsuite>
18-
</testsuites>
19-
20-
<coverage cacheDirectory=".phpunit.cache/code-coverage"
21-
processUncoveredFiles="true">
22-
<include>
23-
<directory suffix=".php">src</directory>
24-
</include>
25-
</coverage>
2+
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.0/phpunit.xsd" bootstrap="vendor/autoload.php" executionOrder="depends,defects" beStrictAboutOutputDuringTests="true" failOnRisky="true" failOnWarning="true" cacheDirectory=".phpunit.cache" requireCoverageMetadata="false" beStrictAboutCoverageMetadata="true">
3+
<testsuites>
4+
<testsuite name="default">
5+
<directory>tests</directory>
6+
</testsuite>
7+
</testsuites>
8+
<coverage>
9+
<include>
10+
<directory suffix=".php">src</directory>
11+
</include>
12+
</coverage>
2613
</phpunit>

src/Testing/Concerns/InteractsWithRequestsAndResponses.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
trait InteractsWithRequestsAndResponses
2222
{
23-
private function makeRequest(string $url = '::url::', ?Closure $callback = null): Request
23+
private static function makeRequest(string $url = '::url::', ?Closure $callback = null): Request
2424
{
2525
$callback ??= static function (): Generator {
2626
yield from [];
@@ -29,15 +29,15 @@ private function makeRequest(string $url = '::url::', ?Closure $callback = null)
2929
return new Request('GET', $url, $callback);
3030
}
3131

32-
private function makeResponse(
32+
private static function makeResponse(
3333
?Request $request = null,
3434
int $status = 200,
3535
?string $body = null,
3636
array $headers = [],
3737
): Response {
3838
return new Response(
3939
new \GuzzleHttp\Psr7\Response($status, $headers, $body),
40-
$request ?: $this->makeRequest(),
40+
$request ?: static::makeRequest(),
4141
);
4242
}
4343
}

tests/Downloader/DownloaderMiddlewareAdapterTest.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -71,18 +71,18 @@ public function handleRequest(Request $request): Request
7171
$testCase($adapter);
7272
}
7373

74-
public function requestMiddlewareProvider(): Generator
74+
public static function requestMiddlewareProvider(): Generator
7575
{
76-
yield 'return response unchanged' => [function (DownloaderMiddlewareAdapter $adapter): void {
77-
$response = $this->makeResponse();
76+
yield 'return response unchanged' => [static function (DownloaderMiddlewareAdapter $adapter): void {
77+
$response = self::makeResponse();
7878

7979
$result = $adapter->handleResponse($response);
8080

8181
self::assertSame($response, $result);
8282
}];
8383

84-
yield 'call middleware for requests' => [function (DownloaderMiddlewareAdapter $adapter): void {
85-
$request = $this->makeRequest();
84+
yield 'call middleware for requests' => [static function (DownloaderMiddlewareAdapter $adapter): void {
85+
$request = self::makeRequest();
8686

8787
$result = $adapter->handleRequest($request);
8888

@@ -108,18 +108,18 @@ public function handleResponse(Response $response): Response
108108
$testCase($adapter);
109109
}
110110

111-
public function responseMiddlewareProvider(): Generator
111+
public static function responseMiddlewareProvider(): Generator
112112
{
113-
yield 'return request unchanged' => [function (DownloaderMiddlewareAdapter $adapter): void {
114-
$request = $this->makeRequest();
113+
yield 'return request unchanged' => [static function (DownloaderMiddlewareAdapter $adapter): void {
114+
$request = self::makeRequest();
115115

116116
$result = $adapter->handleRequest($request);
117117

118118
self::assertSame($request, $result);
119119
}];
120120

121-
yield 'call middleware for responses' => [function (DownloaderMiddlewareAdapter $adapter): void {
122-
$response = $this->makeResponse();
121+
yield 'call middleware for responses' => [static function (DownloaderMiddlewareAdapter $adapter): void {
122+
$response = self::makeResponse();
123123

124124
$result = $adapter->handleResponse($response);
125125

tests/Downloader/Middleware/ExecuteJavascriptMiddlewareTest.php renamed to tests/Downloader/Middleware/ExecuteJavascriptMiddlewareTestCase.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717
use RoachPHP\Downloader\Middleware\ExecuteJavascriptMiddleware;
1818
use RoachPHP\Testing\Concerns\InteractsWithRequestsAndResponses;
1919
use RoachPHP\Testing\FakeLogger;
20-
use RoachPHP\Tests\IntegrationTest;
20+
use RoachPHP\Tests\IntegrationTestCase;
2121
use Spatie\Browsershot\Browsershot;
2222

2323
/**
2424
* @internal
2525
*/
26-
final class ExecuteJavascriptMiddlewareTest extends IntegrationTest
26+
final class ExecuteJavascriptMiddlewareTestCase extends IntegrationTestCase
2727
{
2828
use InteractsWithRequestsAndResponses;
2929

tests/Downloader/Middleware/RobotsTxtMiddlewareTest.php renamed to tests/Downloader/Middleware/RobotsTxtMiddlewareTestCase.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@
2828
use RoachPHP\Spider\ParseResult;
2929
use RoachPHP\Spider\Processor;
3030
use RoachPHP\Testing\Concerns\InteractsWithRequestsAndResponses;
31-
use RoachPHP\Tests\IntegrationTest;
31+
use RoachPHP\Tests\IntegrationTestCase;
3232

3333
/**
3434
* @internal
3535
*/
36-
final class RobotsTxtMiddlewareTest extends IntegrationTest
36+
final class RobotsTxtMiddlewareTestCase extends IntegrationTestCase
3737
{
3838
use InteractsWithRequestsAndResponses;
3939

@@ -61,7 +61,7 @@ protected function setUp(): void
6161

6262
public function testOnlyRequestsRobotsTxtOnceForRequestsToSameDomain(): void
6363
{
64-
$parseCallback = fn () => yield ParseResult::fromValue($this->makeRequest('http://localhost:8000/test2'));
64+
$parseCallback = static fn () => yield ParseResult::fromValue(self::makeRequest('http://localhost:8000/test2'));
6565
$run = new Run(
6666
[new Request('GET', 'http://localhost:8000/test1', $parseCallback)],
6767
downloaderMiddleware: [$this->middleware],
@@ -75,7 +75,7 @@ public function testOnlyRequestsRobotsTxtOnceForRequestsToSameDomain(): void
7575
public function testAllowsRequestIfAllowedByRobotsTxt(): void
7676
{
7777
$run = new Run(
78-
[$this->makeRequest('http://localhost:8000/test1')],
78+
[self::makeRequest('http://localhost:8000/test1')],
7979
downloaderMiddleware: [$this->middleware],
8080
);
8181

@@ -87,7 +87,7 @@ public function testAllowsRequestIfAllowedByRobotsTxt(): void
8787
public function testDropRequestIfForbiddenByRobotsTxt(): void
8888
{
8989
$run = new Run(
90-
[$this->makeRequest('http://localhost:8000/test2')],
90+
[self::makeRequest('http://localhost:8000/test2')],
9191
downloaderMiddleware: [$this->middleware],
9292
);
9393

tests/EngineTest.php renamed to tests/EngineTestCase.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
*
4141
* @group integration
4242
*/
43-
final class EngineTest extends IntegrationTest
43+
final class EngineTestCase extends IntegrationTestCase
4444
{
4545
use InteractsWithRequestsAndResponses;
4646

tests/Extensions/StatsCollectorExtensionTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public function testLogRuntime(int $seconds, string $expected): void
7070
$this->assertStatWasLogged('duration', $expected);
7171
}
7272

73-
public function statsScenarioProvider(): Generator
73+
public static function statsScenarioProvider(): Generator
7474
{
7575
$scenarios = [
7676
'items.scraped' => [
@@ -86,13 +86,13 @@ public function statsScenarioProvider(): Generator
8686
],
8787

8888
'requests.sent' => [
89-
'event' => new RequestSending($this->makeRequest()),
89+
'event' => new RequestSending(self::makeRequest()),
9090
'eventName' => RequestSending::NAME,
9191
'stat' => 'requests.sent',
9292
],
9393

9494
'requests.dropped' => [
95-
'event' => new RequestDropped($this->makeRequest()),
95+
'event' => new RequestDropped(self::makeRequest()),
9696
'eventName' => RequestDropped::NAME,
9797
'stat' => 'requests.dropped',
9898
],

0 commit comments

Comments
 (0)