snailweb / php-tests-helpers
该软件包最新版本(1.0.3)没有提供许可证信息。
PHP 测试辅助工具
1.0.3
2019-03-08 09:46 UTC
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-09-09 14:50:03 UTC
README
PHP 测试辅助工具
用法
AccessProtectedTrait
用于调用方法和获取/设置具有私有/保护可见性的属性值的辅助工具
class MyClassTest { use Snailweb\Helpers\Tests\AccessProtectedTrait; public function testMyMethod() { // Invoke method $returnValue = $this->invokeMethod($object, 'methodName', ['arg1', 'arg2']); // Get attribute $attributeValue = $this->getAttribute($object, 'attributeName'); // Set attribute $this->setAttribute($object, 'attributeName', $attributeValue); } }
TestIteratorTrait
用于自动为类应用迭代器测试的辅助工具。
要求
- 被测试的类必须实现Iterator(这正是这样做的原因...)
- 被测试的类构造函数必须不接受任何参数
- 测试类必须使用类名调用setUpInterator(),可选地提供键名和数组名(示例显示默认值)
class MyClassTest extends TestCase { use Snailweb\Helpers\Tests\TestIteratorTrait; public function setUp(): void { $this->setUpIterator(MyClass::class, 'key', 'array'); } // Do your methods tests // ... }
注意:如果您需要测试您类的构造函数,您必须这样做
class MyClassTest extends TestCase { use Snailweb\Helpers\Tests\TestIteratorTrait{ testConstruct as testIteratorConstruct; } public function setUp(): void { $this->setUpIterator(MyClass::class, 'key', 'array'); } public function testConstruct() { $this->testIteratorConstruct(); // Do your constructor tests // ... } // Do your methods tests // ... }
TestSplSubjectTrait
用于自动为类应用SplSubject测试的辅助工具。
要求
- 被测试的类必须实现SplSubject(这正是这样做的原因...)
- 被测试的类构造函数必须不接受任何参数
- 测试类必须使用类名调用setUpSplSubject(),可选地提供观察者名(示例显示默认值)
class MyClassTest extends TestCase { use Snailweb\Helpers\Tests\TestSplSubjectTrait; public function setUp(): void { $this->setUpSplSubject(MyClass::class, 'observers'); } // Do your methods tests // ... }