如何测试WordPress插件功能

问题描述 投票:2回答:1

如何使用PHPUnit的测试功能,在我的WordPress插件,不是类里面?这些功能作为模板标签。

编辑1 我使用从10up WP_Mock

我的WordPress插件提供从单一文件中的一些模板标签,我试图对它们进行测试。在下面的例子中,我测试(),我想嘲笑B(),它是由()调用。

我得到一个错误信息Call to undefined function c()所以看起来我试图嘲弄B()与WP_Mock :: userFunction失败。

这是预期的行为? 我怎样才能使对于B测试双()?

// my-plugin-template-tags.php

<?php 

function a(){
    $val = b();
    return 'bar';
}

function b(){
    c();
}
// TemplateTagsTest.php

<?php

declare(strict_types=1);

use PHPUnit\Framework\TestCase;

final class TemplateTagsTest extends TestCase
{
    public function test_a()
    {
        \WP_Mock::userFunction( 'b', array(
            'return' => 'foo'
        ) );

        $this->assertSame( 'bar', a() );
    }

    public function setUp() : void
    {
        \WP_Mock::setUp();
    }
    public function tearDown() : void
    {
        \WP_Mock::tearDown();
    }
}


wordpress phpunit mockery
1个回答
2
投票

WordPress的做了很好的工作在这里解释在他们的网站吧:https://make.wordpress.org/core/handbook/testing/automated-testing/writing-phpunit-tests

© www.soinside.com 2019 - 2024. All rights reserved.