Clone this repo:
  1. 5bf5620 build: Updating mediawiki/mediawiki-codesniffer to 44.0.0 by libraryupgrader · 6 weeks ago master
  2. 1f80556 build: Updating composer dependencies by libraryupgrader · 5 months ago
  3. 0b3a0b7 tests: Add numerous use statements by Reedy · 5 months ago
  4. 29316d0 build: Updating mediawiki/mediawiki-codesniffer to 43.0.0 by libraryupgrader · 6 months ago
  5. dd24313 build: Upgrade mediawiki/mediawiki-phan-config from 0.13.0 to 0.14.0 manually by James D. Forrester · 7 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