wikimedia/testing-access-wrapper

一个简单的辅助类,用于测试时访问类的非公开元素。

3.0.0 2023-11-28 06:57 UTC

This package is auto-updated.

Last update: 2024-09-13 06:43:15 UTC


README

Latest Stable Version License

Wikimedia 测试访问包装器

测试访问包装器是一个简单的辅助工具,用于编写单元测试,它提供了使用反射来访问非公开属性/方法的高级快捷方式。

该代码最初是 MediaWiki 的一部分。有关作者列表,请参阅 composer.json。

使用方法

use Wikimedia\TestingAccessWrapper;

class NonPublic {
	protected $prop;
	protected const CONSTANT = 4;
	protected function func() {}
	protected static function staticFunc() {}
}

class NonPublicCtor {
	protected function __construct() {}
}

$object = new NonPublic();
// or:
// $object = TestingAccessWrapper::construct( NonPublicCtor::class );

$wrapper = TestingAccessWrapper::newFromObject( $object );
$classWrapper = TestingAccessWrapper::newFromClass( NonPublic::class );

$wrapper->prop = 'foo';
$wrapper->func();
$classWrapper->staticFunc();

$value = TestingAccessWrapper::constant( NonPublic::class, 'CONSTANT' );

运行测试

composer install
composer test