seec / phpunit-consecutive-params
Drop-in Trait to use removed ConsecutiveParams from PhpUnit
1.1.4
2023-12-18 22:50 UTC
Requires
- php: ^7.4|^8.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9|^10
- psalm/plugin-phpunit: ^0.18
- symplify/easy-coding-standard: ^11.3
- vimeo/psalm: ^5.18
This package is auto-updated.
Last update: 2024-10-29 10:29:02 UTC
README
PHPUnit Consecutive Parameters
After PHPUnit has removed the possibility to
use withConsecutive
, which was used by thousand of UnitTests, developers need a replacement which is not offered in a
neat way at the moment.
Until this problem is solved directly in PHPUnit, this library offers a simple solution to use a replacement
of withConsecutive
again. The original solution posted here.
Installation
$ composer require --dev seec/phpunit-consecutive-params
Usage
<?php declare(strict_types=1); namespace Your\Namespace\For\Tests; use SEEC\PhpUnit\Helper\ConsecutiveParams; final class TestRunnerContextTest extends TestCase { use ConsecutiveParams; ... public function test_it_can_use_consecutive_replacement(): void { $mock = $this->createMock(\stdClass::class); $mock->expects($this->exactly(3)) ->method('foo') ->with(...$this->withConsecutive( ['a', 'b'], ['c', 'd'], ['e', 'f'] )); }
Another example for automatic replacement in correctly formatted code:
->withConsecutive( ['a', 'b'], ['c', 'd'], ['e', 'f'] )
becomes
->with(...$this->withConsecutive( ['a', 'b'], ['c', 'd'], ['e', 'f'] ))