ancarda/high-test-coverage

类和接口,帮助您提高测试覆盖率

1.1.3 2022-02-26 11:30 UTC

This package is auto-updated.

Last update: 2024-08-26 17:46:45 UTC


README

类和接口,帮助您提高测试覆盖率

License Latest Stable Version Total Downloads builds.sr.ht status

High Test Coverage 是一组类和接口,旨在帮助您在使用 PHP 标准库的不纯部分时获得更高的测试覆盖率。它提供了一个 RandomInt 接口,您可以使用它替代 random_int 函数,如下所示

使用 Composer 拉取

composer require --dev ancarda/high-test-coverage

示例用法

<?php

use Ancarda\HighTestCoverage\RandomInt\RandomInt;

final class Genie
{
    public function __construct(private RandomInt $randomInt) {}

    public function fortune(): string
    {
        return 'Your lucky number is ' . $this->randomInt(1, 10);
    }
}

在生产环境中,此类会提供一个 RandomInt\Real 实例,可能通过您的依赖注入容器来提供。在测试中,您将使用内置的许多类之一,例如 FixedOneShot,如下所示

<?php

use Ancarda\HighTestCoverage\RandomInt\Fixed;

final class GenieTest extends TestCase
{
    public function testFortune(): void
    {
        $genie = new Genie(new Fixed(42));
        self::assertSame('Your lucky number is 42', $genie->fortune());
    }
}

有用链接