deminy/behat-rest-testing
最新稳定版本:3.0.2
Composer 安装命令:
composer require deminy/behat-rest-testing
包简介
Demo on doing feature tests with Behat 3 and how to start writing feature tests for REST APIs.
README 文档
README
This repo is to help developers to easily understand how to do feature tests with Behat, and to start writing feature tests for REST APIs, with following features included:
- Core contexts/steps for testing REST APIs.
- Sample RESTful services, and sample feature tests against the services.
- Best of all: To start writing feature tests for the project you are working on, you may use this repo in your project via Composer if you happen to use Composer to manage 3rd-party libraries.
NOTE: Following instructions focus on Behat 3.0.6+ and PHP 5.4+. If you use Behat 2.x and/or PHP 5.3 (5.3.3+), please check branch "1.x" for details.
Dependencies
Branch master
- PHP 5.4+
- Behat 3.0.6 to 3.3.x
- Behat Web API Extension
Branch 1.x (old releases for Behat 2.x)
Installation - Source
You will need to download Composer and run the install command under the same directory where the 'composer.json' file is located:
curl -s http://getcomposer.org/installer | php && ./composer.phar install
Installation - Composer
You may also install using Composer if you want to use this repo in your own project.
Step 1. Add the repo as a dependency.
"require": { "deminy/behat-rest-testing": "~3.0.0" }
NOTE: This is for running with Behat 3 only. If you use Behat 2.x, please check installation instructions for v1.x for details.
Step 2. Run Composer: php composer.phar install.
How to Test
1. Set up and run REST API server.
You can have a virtual host set up under Apache, with DocumentRoot set to "www/" of this repo and DirectoryIndex set to "router.php". Please make sure that module mod_rewrite is enabled, otherwise the REST server won't be able to handle requests properly. You may also need to update option "base_url" in the configuration file "behat.yml".
Alternatively, you may consider to use the PHP 5.4+ built-in web server.
To start the REST API server using PHP 5.4+ built-in web server, please run command similar to following:
php -S localhost:8081 www/router.php
The web server now serves as the REST API server. You can visit URL http://localhost:8081 to see if the server runs properly or not (If everything is good, the URL should return string "OK" back).
2. Create the configuration file "behat.yml" (optional).
For the sample test provided, you can create the file by copying directly from file "behat.yml.dist" without any modifications required.
Note that you don't have to do this if you prefer to use file "behat.yml.dist" directly.
3. Run the test command.
Now, run following command to test sample features:
./vendor/bin/behat # OR ./vendor/bin/behat -p default # explicitly to use profile "default"
If everything is good, you should see the output as in following screenshot:
TODOs
- Support different environments (development, QA, staging, production, etc).
License
MIT license.
deminy/behat-rest-testing 适用场景与选型建议
deminy/behat-rest-testing 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 20.76k 次下载、GitHub Stars 达 77, 最近一次更新时间为 2014 年 11 月 13 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「rest」 「Behat」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 deminy/behat-rest-testing 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 deminy/behat-rest-testing 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 deminy/behat-rest-testing 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Behat Context for testing Symfony Api
A Behat Extension that allows custom bootstrapping
Environment processor and contexts autoloader
Provides access to magento2 object manager from behat and allows to change magento config settings temporarly
log the behat execution into json result
A PSR-7 compatible library for making CRUD API endpoints
统计信息
- 总下载量: 20.76k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 77
- 点击次数: 17
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2014-11-13