seec / phpunit-consecutive-params
Drop-in Trait to use removed ConsecutiveParams from PhpUnit
Package info
github.com/bytes-max/phpunit-consecutive-params
pkg:composer/seec/phpunit-consecutive-params
Requires
- php: ^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
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-20 14:47:10 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
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'] ))