wp-launchpad/phpunit-wp-hooks

用于模拟 PHPUnit 中 WP 钩子的自定义注解。

v1.0.2 2024-04-05 21:12 UTC

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。