atanvarno / test-util
PHPUnit 测试用例工具
0.1.1
2021-05-22 12:51 UTC
Requires
- php: ^7.0|^8.0
Suggests
- phpunit/phpunit: The PHP unit testing framework
This package is auto-updated.
Last update: 2024-08-22 20:19:38 UTC
README
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