feugene/dev-tools

PHP 开发者工具

v2.1.1 2019-09-13 05:03 UTC

README

PHP logo

PHP 开发者工具

Build Status Coverage Downloads count License Maintainability Test Coverage codecov

安装

使用以下命令使用 composer 安装此包:

$ composer require --dev feugene/dev-tools "^2.1"

需要安装 composer如何安装 composer)。

您需要修复包的主要版本。

使用

此包允许您轻松地将辅助工具集成到您的应用程序中,从而更有效地进行开发。它们可以分为以下几组:

Laravel 辅助服务

对于 Laravel 应用程序,您可以连接以下服务提供者:

应用程序单元测试

PHPUnit 框架的上下文中

Bootstrap

Bootstrap 是一个在启动所有测试之前仅执行一次的文件。其主要任务是准备环境 - 创建临时文件目录(删除之前的),准备数据库模式等。

您可以在 PHPUnit 的配置中指定自己的 bootstrap 文件的路径(./phpunit.xml

<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="./tests/bootstrap.php">
    <!-- configuration -->
</phpunit>

对于 Laravel 应用程序

编写代码以递归创建目录、连接数据库可能看起来相当繁琐。为了简化此任务,您可以创建自己的 bootsrapper 类,该类可以在创建自己的实例时按顺序执行所有以 boot* 为前缀的方法。此外 - $this->app 已保存您的应用程序实例(只需连接所需特质)。请看以下示例

<?php

class MyBootstrap extends \AvtoDev\DevTools\Tests\Bootstrap\AbstractLaravelTestsBootstrapper
{
    use AvtoDev\DevTools\Tests\PHPUnit\Traits\CreatesApplicationTrait;

    public function bootPrepareDatabase()
    {
        $this->app->make(Illuminate\Contracts\Console\Kernel::class)->call('migrate:refresh');
    }
}

并且您总是可以在启动测试前拥有“新鲜”的数据库模式。

其他应用程序

更简单的实现

<?php

class MyBootstrap extends \AvtoDev\DevTools\Tests\Bootstrap\AbstractTestsBootstrapper
{
    public function bootMakeSome()
    {
        // Put your code here
    }

    public function bootMakeSomethingElse()
    {
        // Put your code here
    }
}

在两种情况下,请勿忘记创建文件 ./tests/bootstrap.php,在其中写入 <?php new MyBootstrap();,并在 PHPUnit 的配置中指定 <phpunit bootstrap="./tests/bootstrap.php">

单元测试的抽象类

为了更方便地测试您的应用程序,您可以使用与此包一起提供的抽象单元测试类(有 Laravel 应用程序版本和无此依赖项版本)。

它们的独特之处在于它们包含额外的 assert 方法,这将允许您编写更简洁、更具表现力的测试。此功能通过特质连接,因此您可以在需要时创建自己的抽象类(不继承自提供的类)并添加所需的“功能”。

推荐使用抽象类的原因是,其功能将随着时间的推移而扩展,您可以通过单个命令 composer update efureev/dev-tools 获取它们的新功能。

对于 Laravel 应用程序

AvtoDev\DevTools\Tests\PHPUnit\AbstractLaravelTestCase 继承您的测试类。

其他应用程序

AvtoDev\DevTools\Tests\PHPUnit\AbstractTestCase 继承您的测试类。

PHPUnit 特质

以下是一个包含特质名称及其提供功能的汇总表。所有特质都位于 AvtoDev\DevTools\Tests\PHPUnit\Traits

测试

对于包测试,我们使用 phpunit 框架和 docker-ce + docker-compose 作为开发环境。因此,在克隆存储库后,只需在终端中输入

$ make build
$ make latest # or 'make lowest'
$ make test

变更日志

Release date Commits since latest release

变更日志可在以下位置找到:此处

支持

Issues Issues

如果您发现任何包错误,请在当前存储库中创建问题

许可证

这是一个开源软件,受MIT 许可证许可。