Clone this repo:
  1. f9d06ff build: Updating mediawiki/mediawiki-codesniffer to 51.0.0 by libraryupgrader · 5 weeks ago master
  2. 61d5860 build: Updating mediawiki/mediawiki-phan-config to 0.20.0 by libraryupgrader · 3 months ago
  3. 0e7b225 build: Updating composer dependencies by libraryupgrader · 3 months ago
  4. 84d5ea6 build: Upgrade mediawiki-phan-config for PHP 8.5 support by James D. Forrester · 4 months ago
  5. fd0dfbc build: Upgrade PHPUnit from 10.5.58 to 10.5.63 to unblock CI by James D. Forrester · 4 months ago

Latest Stable Version License

Wikimedia Testing Access Wrapper

Testing Access Wrapper is a simple helper for writing unit tests which provides convenient shortcuts for using reflection to access non-public properties/methods.

The code was originally part of MediaWiki. See composer.json for a list of authors.

Usage

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' );

Running tests

composer install
composer test