netsells/dredd-hooks-laravel

Laravel钩子用于Dredd测试工具

1.1.0 2019-08-13 09:03 UTC

This package is auto-updated.

Last update: 2024-08-28 13:21:51 UTC


README

Packagist Packagist license

本包包含一个PHP Dredd钩子处理器,它提供了一个连接Dredd API测试框架和PHP环境的桥梁,以简化Dredd提供的测试钩子的实现。大部分繁重的工作由ddelnano/dredd-hooks-php包完成。

Netsells团队创建和维护

安装

Composer

应通过Composer安装Laravel Hooks for Dredd,我们建议您将其放在require-dev部分。

composer require netsells/dredd-hooks-laravel --dev

Dredd配置

为了注入环境变量并充分利用Laravel Dredd Hooks的功能,您需要将以下内容添加到您的dredd.yml文件中(或放在控制台参数中)。

# This can be any single file which extends Netsells\Dredd\Kernel
hookfiles: 'tests/dredd/Kernel.php'

language: 'vendor/bin/dredd-hooks-laravel'
server: 'php -S 127.0.0.1:3000 ./vendor/netsells/dredd-hooks-laravel/server.php -t public/'
endpoint: 'http://127.0.0.1:3000'

用法

本包要求您创建一个文件(命名为dredd.yml中hookfiles部分的名称)。该文件至少应包含handle方法。

<?php

namespace Tests\Dredd;

use Netsells\Dredd\Hook;
use Netsells\Dredd\Transaction;
use Illuminate\Support\Facades\Artisan;
use Netsells\Dredd\Kernel as DreddKernel;

class Kernel extends DreddKernel
{
    public function handle(Hook $hook)
    {
        $this->beforeEach(function (Transaction &$transaction) {
            Artisan::call('migrate:fresh');
            Artisan::call('passport:install');

            Artisan::call('db:seed');
        });

        $hook->group('Posts', Hooks\Posts::class);
    }
}