richcongress/test-framework

一个使用具有优先级的 PHPUnit 扩展的测试框架

v0.2.0 2024-06-03 09:45 UTC

This package is auto-updated.

Last update: 2024-09-03 10:19:51 UTC


README

测试框架

Package version Actions Status Coverage Status Maintainability contributions welcome License

PHP 7 PHP 8

这个库是一个与 PHPUnit 一起工作的测试框架,它提供了与扩展中的钩子类似的行为,但具有优先级概念,以改进它们之间的交互。

目录

1. 安装

此版本的包需要 Symfony 6.0+ 和 PHP 8.1+。

composer require richcongress/test-framework

2. 入门

首先,需要在 phpunit.xml.dist 中添加 PHPUnitExtension,如下所示:

<extensions>
    <extension class="RichCongress\TestFramework\PHPUnitExtension">
        <arguments>
            <string>TestHookClassName</string>
        </arguments>
    </extension>
</extensions>

需要手动添加每个 TestHook,因为尚未找到自动配置它的解决方案。

要创建一个 TestHook,只需使用 TestHookInterface 接口或扩展 AbstractTestHook 类,然后重写您想要的方法。

3. 版本控制

template-bundle 采用 语义版本控制。简而言之,方案是 MAJOR.MINOR.PATCH,其中 1. MAJOR 在出现破坏性更改时增加,2. MINOR 在以向后兼容的方式添加新功能时增加,3. PATCH 在以向后兼容的方式修复错误时增加。

低于 1.0.0 的版本被视为实验性版本,任何时间都可能发生破坏性更改。

4. 贡献

欢迎贡献!有多种贡献方式,我们非常感谢。以下是一些主要的贡献方式:

  • 错误报告:虽然我们努力提供高质量的软件,但错误仍然可能发生,并且我们无法修复我们不了解的问题。因此,即使您不确定或只想提出问题,也请报告。无论如何,问题可能表明文档还可以改进!

  • 功能请求:您的用例未由当前 API 覆盖?希望提出更改或添加某些内容?我们将很高兴了解并开始讨论以尝试找到最佳解决方案。

  • 拉取请求:想贡献代码或文档?我们将非常乐意!如果您需要帮助开始,GitHub 有关于拉取请求的 文档。我们使用 "fork and pull model",其中贡献者将更改推送到他们的个人分支,然后创建拉取请求到主存储库。请确保您的拉取请求针对 master 分支。

提醒一下,所有贡献者都应遵循我们的 行为准则

5. 开发

您可以使用 Docker 和 docker-compose 来开发项目。以下是一些命令。

# Start the project
docker-compose up -d

# Install dependencies
docker-compose exec application composer install

# Run tests
docker-compose exec application bin/phpunit

# Run a bash within the container
docker-compose exec application bash

6. 许可证

template-bundle 在 MIT 许可证的条款下分发。

有关详细信息,请参阅 LICENSE