lendable/phpunit-extensions

0.3.1 2024-05-01 10:57 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