carlosv2 / mink-legacy-driver
Mink/Behat 驱动程序,为旧版应用程序提供桥梁
1.0.0
2017-02-26 20:20 UTC
Requires
- php: >=5.3
- behat/behat: ^3.3
- behat/mink: ^1.7
- behat/mink-browserkit-driver: ^1.3
- behat/mink-extension: ^2.2
- ringcentral/psr7: ^1.2
- symfony/process: ^2.8
- symfony/routing: ^2.8
Requires (Dev)
- phpspec/phpspec: ^2.5
- symfony/filesystem: ^2.8
- symfony/yaml: ^2.8
This package is not auto-updated.
Last update: 2024-09-14 20:09:43 UTC
README
该项目旨在在 Mink 和旧版应用程序之间建立桥梁。一般来说,旧版应用程序并不是按照最佳实践编写的,或者太老了,无法支持它们。
为什么?
旧版应用程序难以维护,主要是因为缺乏测试或者测试非常缓慢且痛苦。这种情况会产生改变恐惧,因为副作用是未知的。此外,旧版应用程序通常还会遇到以下情况
- 不使用 composer 自动加载。
- 依赖 PHP 超全局变量(如
$_GET
、$_POST
、$_SERVER
等)。 - 有许多前端控制器。
- 使用
exit
/die
突然结束请求。
安装
使用以下命令安装
$ composer require --dev carlosv2/mink-legacy-driver
用法
按照以下方式设置你的 behat.yml
文件
default: extensions: carlosV2\LegacyDriver\Extension: ~ Behat\MinkExtension: sessions: default: legacy: environment: <array> controller: <string|array> document_root: <string> bootstrap: <string|array>
其中
-
environment
:包含环境变量的键/值数组。例如environment: variable: value env: prod
-
controller
:前端控制器的位置。例如controller: path/to/the/controller.php
或者你也可以提供一个前端控制器数组。例如
controller: - path: /uri/to/match file: path/to/the/uri/to/match.php - path: /uri/to/another file: another/path/to/match.php
控制器键配置了
symfony/routing
组件。因此,你也可以添加methods
和requirements
键。例如controller: - path: /item/{id} file: process_item.php methods: ["GET", "PUT"] requirements: id: \d+
-
document_root
:文档根的位置。例如document_root: path/to/the/document/root/
-
bootstrap
:在每次请求之前执行的自定义文件的位置。例如bootstrap: path/to/the/bootstrap/file.php
或者你也可以提供多个在每次请求之前执行的文件。例如
bootstrap: - path/to/the/bootstrap/file.php - another/path/to/bootstrap.php