worksome/pest-plugin-silence

此包已被废弃且不再维护。未建议替代包。

防止测试中出现不希望的输出。

v0.1.2 2022-02-22 15:04 UTC

This package is auto-updated.

Last update: 2023-11-04 14:44:48 UTC


README

此存储库已被归档,不再维护。

Pest Plugin Silence

Tests PHPStan

通常,在编写测试时,我们会使用 echodump 来打印测试代码进行调试和检查一切是否正常工作。完成时很容易忘记删除这些语句,这可能导致测试结果中出现大量杂乱输出。真讨厌!

Silence 是一个轻量级的 Pest 插件,它会使得任何向控制台 echodump 的测试都会失败,这意味着您永远不会忘记从代码库中删除这些语句。

之前

CleanShot 2022-02-22 at 14 51 15@2x

之后

CleanShot 2022-02-22 at 14 53 35@2x

安装

使用 composer 安装插件。

composer require worksome/pest-plugin-silence --dev 

用法

Silence 默认未启用。但是,您可以通过两种方法之一轻松地为您的项目启用它。

使用环境变量启用

您可以使用 PREVENT_OUTPUT 环境变量在运行测试时启用 Silence。您可以将其添加到您的 phpunit.xml

<phpunit>
    <php>
        <env name="PREVENT_OUTPUT" value="true"/>
    </php>
</phpunit>

在测试或 TestCase 中手动启用

或者,您可以使用 Silence::preventOutput() 方法在测试或 TestCase 中启用 Silence,以实现更精确的控制。

use Worksome\PestPluginSilence\Silence;

it('just works', function () {
    Silence::preventOutput();
    
    echo "Uh-oh!"
    
    expect(true)->toBeTrue();
});

如果您想手动为每个测试启用 Silence,请将其放置在 TestCasesetUp 方法中。

class TestCase extends BaseTestCase
{
    public function setUp(): void
    {
        parent::setUp();
        
        Silence::preventOutput();
    }
}

测试

Silence 已经过全面测试,并实现了严格的静态分析。您可以使用我们的测试脚本来运行测试套件

composer test

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

致谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件