phpunit/example-extension

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

PHPUnit 扩展示例

3.0.3 2017-12-15 14:29 UTC

This package is auto-updated.

Last update: 2023-03-11 15:43:13 UTC


README

PHPUnit 扩展示例。

安装

Composer

如果您使用 Composer 来管理项目依赖,则可以将 PHPUnit 示例扩展添加为开发依赖项

$ composer require --dev phpunit/example-extension

PHP Archive (PHAR)

如果您使用 PHPUnit 5.7(或更高版本)从 PHP Archive (PHAR) 中,则可以下载 PHPUnit 示例扩展的 PHAR 版本

$ wget https://phar.phpunit.de/phpunit-example-extension.phar

以下示例显示了如何配置 PHPUnit 以加载指定目录(本例中的 tools/phpunit.d)中找到的所有 *.phar 文件

<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/6.3/phpunit.xsd"
         extensionsDirectory="tools/phpunit.d">
</phpunit>

PHPUnit 仅在找到的扩展 PHAR 提供有效的 manifest.xml 文件中的清单信息时加载扩展

<?xml version="1.0" encoding="utf-8" ?>
<phar xmlns="https://phar.io/xml/manifest/1.0">
    <contains name="phpunit/phpunit-example-extension" version="3.0.0" type="extension">
        <extension for="phpunit/phpunit" compatible="^6.3"/>
    </contains>

    <copyright>
        <author name="Sebastian Bergmann" email="sebastian@phpunit.de"/>
        <license type="BSD-3-Clause" url="https://github.com/sebastianbergmann/phpunit-example-extension/blob/master/LICENSE"/>
    </copyright>

    <requires>
        <php version="^7.1"/>
    </requires>
</phar>

当然,要加载的扩展也必须与尝试加载它的 PHPUnit 版本兼容。扩展在其清单中提供了此兼容性检查所需的信息。

当启用详细输出时,PHPUnit 将打印加载的扩展 PHAR

$ phpunit --verbose tests
PHPUnit 6.3.0 by Sebastian Bergmann and contributors.

Runtime:       PHP 7.1.8 with Xdebug 2.5.5
Configuration: /home/sb/example/phpunit.xml
Extension:     phpunit/phpunit-example-extension 3.0.0

.                                                                   1 / 1 (100%)

Time: 32 ms, Memory: 4.00MB

OK (1 test, 1 assertion)

可以使用 --no-extensions 命令行选项来抑制从使用 extensionsDirectory 配置的目录中加载扩展

$ phpunit --no-extensions
PHP Fatal error:  Trait 'PHPUnit\ExampleExtension\TestCaseTrait' not found in ...