atanvarno/test-util

PHPUnit 测试用例工具

0.1.1 2021-05-22 12:51 UTC

This package is auto-updated.

Last update: 2024-08-22 20:19:38 UTC


README

Software License Latest Version

PHPUnit 测试用例的实用特性,用于与受保护的私有方法和属性交互。

要求

PHP >= 7.0 是必需的,但建议使用 PHP 的最新稳定版本。

安装

$ composer require atanvarno/test-util:^0.1.0

基本用法

class YourTest extends \PHPUnit\Framework\TestCase
{
    // Include the traits
    use Atanvarno\PHPUnit\{CallProtectedMethodTrait, SetProtectedPropertyTrait};
    
    // Write your tests
    public function testYourMethod()
    {
        $testObject = new SomeClass();
        
        // Set an inaccessible property
        $this->setProtectedProperty($testObject, 'propertyName', 'value');
        
        // Call an inaccessible method
        $result = $this->callProtectedMethod(
            $testObject,
            'methodName',
            ['argument 1', 'argument 2', '...']
        );
        
        // Do your assertations
        // ...
    }
}

Atanvarno\PHPUnit\CallProtectedMethodTrait

提供在测试目的下调用对象受保护或私有方法的方法。

public function callProtectedMethod($object, string $method, array $arguments = [])

调用受保护或私有方法并返回其结果。

参数

  • object $object

    必需。包含要调用方法实例。

  • string $method

    必需。方法名称。

  • mixed[] $arguments

    可选。默认为 []。传递给方法的参数。

抛出

返回

  • mixed

    方法调用的返回值。

Atanvarno\PHPUnit\SetProtectedPropertyTrait

提供在测试目的下设置对象受保护或私有属性的方法。

public function setProtectedProperty($object, string $property, $value)

设置受保护的或私有属性。

参数

  • object $object

    必需。包含要设置属性实例。

  • string $property

    必需。属性名称。

  • mixed $value

    必需。要设置的值。

抛出

返回

  • void