bluepsyduck/test-helper

Some traits helping with testing using PHPUnit.

2.0.0 2021-01-12 10:38 UTC

This package is auto-updated.

Last update: 2024-10-12 18:40:30 UTC


README

GitHub release (latest SemVer) GitHub build Codecov

This library contains a trait helping with testing classes using PHPUnit by providing some shortcut methods for the test cases.

ReflectionTrait

The ReflectionTrait is a trait which adds methods for easier access to non-public properties and methods, making mocking them easier. The trait comes with the following methods:

  • injectProperty($object, $name, $value): Injects the value to a property of the object.
  • injectStaticProperty($className, $name, $value): Injects the value to a static property of the class.
  • extractProperty($object, $name): Extracts the value of a property from the object.
  • extractStaticProperty($className, $name): Extracts the value of a static property from the class.
  • invokeMethod($object, $name, ...$params): Invokes a non-public method on the object.
  • invokeStaticMethod($className, $name, ...$params): Invokes a non-public static method on the class.

Note: The parameters passed to invokeMethod() and invokeStaticMethod() are passed-by-value. If the method uses references, the changes made by the method will not be visible to the outside.