wp-launchpad / phpunit-wp-hooks
用于模拟 PHPUnit 中 WP 钩子的自定义注解。
v1.0.2
2024-04-05 21:12 UTC
Requires
- php: ^7.1|^8
- phpunit/phpunit: ^7.1|^8|^9
Requires (Dev)
- wp-media/phpunit: ^3.0
This package is auto-updated.
Last update: 2024-08-30 15:28:36 UTC
README
这个库是一个PHPUnit库,旨在简化集成测试期间模拟WordPress钩子的过程。
安装
要安装此扩展,需要引入它
composer require wp-launchpad/phpunit-wp-hooks --dev
完成此操作后,您可以使用MockHooks
特质,并在您的TestCase
基础类中添加以下逻辑,其中my_prefix
是您的插件前缀
protected function setUp(): void { parent::setUp(); $this->mockHooks(); } protected function tearDown(): void { $this->resetHooks(); parent::tearDown(); } protected function getPrefix(): string { return 'my_prefix'; } protected function getCurrentTest(): string { return $this->getName(); }
模拟钩子
注册一个回调
在测试类中添加一个回调,以从过滤器中控制值。为此,首先需要在类中创建一个回调
public function myCallback() { return false; }
然后在该回调的文档块中添加@hook
注解
/** * @hook my-event 15 */
其中15是过滤器的优先级。如果您忘记这部分,则默认优先级将是10。
隔离一个钩子
要隔离一个钩子以将其减少到单个回调,可以在测试方法上添加@hook-isolated
注解
/** * @hook-isolate my-event myCallback 15 */
其中15是过滤器的优先级。如果您忘记这部分,则默认优先级将是10。