lendable / phpunit-extensions
PHPUnit 扩展
0.3.1
2024-05-01 10:57 UTC
Requires
- php: ^8.2
- phpunit/phpunit: ^11.1
Requires (Dev)
- ergebnis/composer-normalize: ^2.42.0
- lendable/composer-license-checker: ^1.2.0
- php-cs-fixer/shim: ^3.54.0
- phpstan/phpstan: ^1.10.67
- phpstan/phpstan-deprecation-rules: ^1.1.4
- phpstan/phpstan-phpunit: ^1.3.16
- phpstan/phpstan-strict-rules: ^1.5.5
- rector/rector: 1.0.4
This package is auto-updated.
Last update: 2024-09-20 15:17:10 UTC
README
警告
此库仍处于早期开发阶段。
安装
通过 Composer 安装
composer require --dev lendable/phpunit-extensions
功能
严格模拟
默认情况下,在创建模拟时,所有方法返回值都会基于类型信息进行存根处理。例如:
public function foo(): int { return $this->foo; }
将模拟为返回 0
。此库提供两种机制来简化禁用此功能,以强制所有在模拟上调用的方法显式配置。
- 如果你扩展自
Lendable\PHPUnitExtensions\TestCase
,这将启用。如果你只需扩展此类,这是选择所有功能的最简单方法。 - 提供
Lendable\PHPUnitExtensions\StrictMocking
特性来单独启用此功能。如果你被迫使用另一个抽象*TestCase
(例如,来自供应商),则可以将此添加到类层次结构中。
PHPStan
提供 PHPStan 扩展以强制使用此库的功能。
将规则添加到你的 PHPStan 配置中
rules: # ... - vendor/lendable/phpunit-extensions/phpstan/rules.neon
配置任何你可能有的排除项
lendable_phpunit: enforceStrictMocking: pardoned: - Foo\Bar\MyTest