seec / phpunit-consecutive-params
直接替换被移除的 PhpUnit 的 ConsecutiveParams 特性
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-08-29 10:05:19 UTC
README
PHPUnit 连续参数
在 PHPUnit 移除了使用 withConsecutive
的可能性 之后,这被成千上万的单元测试所使用,开发者需要一个替换方案,但目前还没有提供一种整洁的方案。
在此问题在 PHPUnit 中直接解决之前,这个库提供了一个简单的解决方案,以便再次使用 withConsecutive
的替换方案。原始解决方案 在此处发布。
安装
$ composer require --dev seec/phpunit-consecutive-params
使用方法
<?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'] )); }
另一个在正确格式化代码中自动替换的示例
->withConsecutive( ['a', 'b'], ['c', 'd'], ['e', 'f'] )
变为
->with(...$this->withConsecutive( ['a', 'b'], ['c', 'd'], ['e', 'f'] ))