📌  相关文章
📜  phpunit-watcher - PHP (1)

📅  最后修改于: 2023-12-03 15:03:44.900000             🧑  作者: Mango

phpunit-watcher - PHP

PHPUnit-Watcher 是一个用于 PHP 项目的监视程序。您可以使用它来监视您的测试文件夹,并在任何测试文件更改时自动运行 PHPUnit 测试套件。

安装

您可以使用 Composer 快速安装 PHPUnit-Watcher:

composer require --dev spatie/phpunit-watcher
使用

在项目的根目录中,运行以下命令以启动监视程序:

vendor/bin/phpunit-watcher watch

这是默认情况下的命令。您可以使用以下命令行选项配置 PHPUnit-Watcher:

--watch=tests/dir      # 监视特定目录。默认为 `tests`
--filter=TestClassName # 运行具体的测试类
--notify               # 当测试通过/失败时启用桌面通知。默认为禁用
--clear-terminal       # 每次运行测试时清除终端输出。默认为启用

您可以在 phpunit.xml 配置文件中设置 PHPUnit-Watcher:

<phpunit
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/6.4/phpunit.xsd"
    colors="true"
    bootstrap="vendor/autoload.php"
>
    <testsuites>
        <testsuite name="PHPUnit Watcher">
            <directory>tests</directory>
        </testsuite>
    </testsuites>

    <listeners>
        <listener class="Spatie\PHPUnitWatcher\PHPUnitWatcherListener">
            <arguments>
                <array>
                    <element key="watcher_command">vendor/bin/phpunit-watcher watch</element>
                    <element key="dont_clear">false</element>
                    <element key="change_detected_message">Running tests...</element>
                </array>
            </arguments>
        </listener>
    </listeners>
</phpunit>

在此示例中,我们将 Spatie\PHPUnitWatcher\PHPUnitWatcherListener 添加到 PHPunit 监听器数组中,并设置 watcher_command 参数为我们想要运行的命令。当运行测试时,我们希望从终端输出移除 PHPUnit-Watcher 的标准输出,因此设置 dont_clearfalse

结论

PHPunit-watcher 是一个方便的工具,可以帮助您在您的 PHP 项目中自动运行测试套件,每当您更改测试文件夹时都会自动重新运行。它集成了多种配置选项,可以让您根据您的需求进行配置。赶快试试吧!