kbunel / behat-test-generator
为您的应用程序中的所有路由生成自动测试,根据REST行为测试响应是否良好。
dev-master / 1.0.0.x-dev
2020-03-23 12:31 UTC
Requires
- php: >=7.1.0
Requires (Dev)
- behat/behat: ^3.5
- behat/mink-browserkit-driver: ^1.3
- behat/mink-extension: ^2.3
- behat/mink-goutte-driver: ^1.2
- behat/mink-selenium2-driver: ^1.3
- behat/symfony2-extension: ^2.1
- behatch/contexts: ^3.2
- phpunit/phpunit: ~4.5
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