kbunel/behat-test-generator

为您的应用程序中的所有路由生成自动测试,根据REST行为测试响应是否良好。

安装: 7

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

dev-master / 1.0.0.x-dev 2020-03-23 12:31 UTC

This package is not auto-updated.

Last update: 2024-09-18 08:01:55 UTC


README

该项目已不再维护

添加一个命令来使用behat生成API。该命令将解析控制器以获取路由并确定创建简单测试。测试期望基于根据方法得到的HTTP响应。

安装

使用Symfony Flex的应用程序

打开命令行控制台,进入您的项目目录,并执行以下命令

$ composer require kbunel/behat-test-generator --dev

不使用Symfony Flex的应用程序

步骤1:下载Bundle

打开命令行控制台,进入您的项目目录,并执行以下命令下载此Bundle的最新稳定版本

$ composer require kbunel/behat-test-generator --dev

此命令需要您全局安装Composer,具体请参阅Composer文档中的安装章节

步骤2:启用Bundle

然后,将Bundle添加到项目中app/AppKernel.php文件中已注册的Bundle列表中,以启用Bundle

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new BehatTestGenerator\BehatTestGeneratorBundle();
        );

        // ...
    }

    // ...
}

Behat配置

default:
    gherkin:
        cache: ~
    extensions:
        Behat\Symfony2Extension:
            kernel:
                env: test
                debug: true
                class: TestAppKernel
                path: app/TestAppKernel.php
        Behat\MinkExtension:
            base_url: http://example.com
            files_path: '%paths.base%/behat/Fixtures/Files'
            sessions:
                default:
                    symfony2: ~
                javascript:
                    selenium2: ~
        Behatch\Extension: ~
    suites:
        default:
            contexts:
                - FeatureContext: { container: '@service_container' }
                - Behat\MinkExtension\Context\MinkContext
                - behatch:context:rest
                - behatch:context:json
                - DatabaseContext: { entityManager: '@doctrine.orm.entity_manager', loader: '@fidry_alice_data_fixtures.doctrine.persister_loader' }
    # Add any context required, like an authentication one

命令

要生成测试,请运行

$ php bin/console kbunel:behat:generate-test

可用选项

添加一个标签
$ php bin/console kbunel:behat:generate-test tag=new
从具有指定命名空间的具体控制器生成测试
$ php bin/console kbunel:behat:generate-test namespace='App\Controller\MyController'
为具体方法生成测试(用逗号分隔)
$ php bin/console kbunel:behat:generate-test methods='put,patch'
从特定命名空间生成测试

此选项将从具有指定命名空间开头的命名空间中的控制器获取所有路由

$ php bin/console kbunel:behat:generate-test fromNamespace='App\Controller\Users'

可用配置

behat_test_generator:
    fixtures:
        folder: 'path/to/the/fixtures/folder'
    features:
        commonFixtures: 'NameOfTheCommonFileFixtures.yaml' # Path to the file used to add the common fixture with the fixtures generated
        authenticationEmails:
            ^admin: 'super_admin@test.com' # ['route_regex' => 'email_used']
            ^user: 'user@test.com'
            # ...
        httpResponses: # http responses used with test expectations
            get: 200
            put: 204
            patch: 204
            post: 201
            delete: 204