Skip to content

Commit b73517e

Browse files
authored
Merge pull request #28 from SimonFrings/tests
Update PHPUnit configuration schema for PHPUnit 9.3
2 parents 07b4cae + 6a50992 commit b73517e

File tree

6 files changed

+53
-20
lines changed

6 files changed

+53
-20
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33
/.travis.yml export-ignore
44
/examples/ export-ignore
55
/phpunit.xml.dist export-ignore
6+
/phpunit.xml.legacy export-ignore
67
/tests/ export-ignore

.travis.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ language: php
33
# lock distro so new future defaults will not break the build
44
dist: trusty
55

6-
matrix:
6+
jobs:
77
include:
88
- php: 5.3
99
dist: precise
@@ -19,10 +19,9 @@ matrix:
1919
allow_failures:
2020
- php: hhvm-3.18
2121

22-
sudo: false
23-
2422
install:
25-
- composer install --no-interaction
23+
- composer install
2624

2725
script:
28-
- vendor/bin/phpunit --coverage-text
26+
- if [[ "$TRAVIS_PHP_VERSION" > "7.2" ]]; then vendor/bin/phpunit --coverage-text; fi
27+
- if [[ "$TRAVIS_PHP_VERSION" < "7.3" ]]; then vendor/bin/phpunit --coverage-text -c phpunit.xml.legacy; fi

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@
2424
"react/promise-timer": "^1.1"
2525
},
2626
"require-dev": {
27-
"phpunit/phpunit": "^9.0 || ^5.0 || ^4.8"
27+
"phpunit/phpunit": "^9.3 || ^5.7 || ^4.8"
2828
}
2929
}

phpunit.xml.dist

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22

3-
<phpunit bootstrap="vendor/autoload.php" colors="true">
3+
<!-- PHPUnit configuration file with new format for PHPUnit 9.3+ -->
4+
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"
6+
bootstrap="vendor/autoload.php"
7+
colors="true"
8+
cacheResult="false">
49
<testsuites>
510
<testsuite name="Connection-Manager-Extra Test Suite">
6-
<directory>./tests</directory>
11+
<directory>./tests/</directory>
712
</testsuite>
813
</testsuites>
9-
<filter>
10-
<whitelist>
11-
<directory>./src</directory>
12-
</whitelist>
13-
</filter>
14-
</phpunit>
14+
<coverage>
15+
<include>
16+
<directory>./src/</directory>
17+
</include>
18+
</coverage>
19+
</phpunit>

phpunit.xml.legacy

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<!-- PHPUnit configuration file with old format for PHPUnit 9.2 or older -->
4+
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/4.8/phpunit.xsd"
6+
bootstrap="vendor/autoload.php"
7+
colors="true">
8+
<testsuites>
9+
<testsuite name="Connection-Manager-Extra Test Suite">
10+
<directory>./tests/</directory>
11+
</testsuite>
12+
</testsuites>
13+
<filter>
14+
<whitelist>
15+
<directory>./src/</directory>
16+
</whitelist>
17+
</filter>
18+
</phpunit>

tests/TestCase.php

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,13 @@ protected function expectCallableOnceValue($type)
5353
*/
5454
protected function createCallableMock()
5555
{
56-
return $this->getMockBuilder('stdClass')->setMethods(array('__invoke'))->getMock();
56+
if (method_exists('PHPUnit\Framework\MockObject\MockBuilder', 'addMethods')) {
57+
// PHPUnit 9+
58+
return $this->getMockBuilder('stdClass')->addMethods(array('__invoke'))->getMock();
59+
} else {
60+
// legacy PHPUnit 4 - PHPUnit 8
61+
return $this->getMockBuilder('stdClass')->setMethods(array('__invoke'))->getMock();
62+
}
5763
}
5864

5965
protected function createConnectionManagerMock($ret)
@@ -86,16 +92,20 @@ protected function assertPromiseReject($promise)
8692
$promise->then($this->expectCallableNever(), $this->expectCallableOnce());
8793
}
8894

89-
public function setExpectedException($exception, $message = '', $code = 0)
95+
public function setExpectedException($exception, $exceptionMessage = '', $exceptionCode = null)
9096
{
9197
if (method_exists($this, 'expectException')) {
98+
// PHPUnit 5+
9299
$this->expectException($exception);
93-
if ($message !== '') {
94-
$this->expectExceptionMessage($message);
100+
if ($exceptionMessage !== '') {
101+
$this->expectExceptionMessage($exceptionMessage);
102+
}
103+
if ($exceptionCode !== null) {
104+
$this->expectExceptionCode($exceptionCode);
95105
}
96-
$this->expectExceptionCode($code);
97106
} else {
98-
parent::setExpectedException($exception, $message, $code);
107+
// legacy PHPUnit 4
108+
parent::setExpectedException($exception, $exceptionMessage, $exceptionCode);
99109
}
100110
}
101111
}

0 commit comments

Comments
 (0)