arisro / behat-lumen-extension
Lumen 对 Behat 的扩展
v2.0.1
2016-03-24 21:18 UTC
Requires
- php: >=5.4
- behat/behat: ~3.0
- behat/mink-browserkit-driver: ~1.2
- laravel/lumen-framework: 5.2.*
Requires (Dev)
- behat/mink-extension: ~2.0
- symfony/symfony: ~2.6
This package is not auto-updated.
Last update: 2024-09-28 18:10:35 UTC
README
这是 Laravel Behat 扩展包(https://github.com/laracasts/Behat-Laravel-Extension)对 Lumen 的适配。
它是一个自定义的 Behat / Mink 驱动程序,扩展了 BrowserKit 驱动程序。
这将允许您使用 Behat 编写功能测试(在自定义环境中启动 Lumen 应用程序,模拟 FeatureContext 中的组件,请求直接在应用程序上执行 - 没有外部请求)。
要开始使用,您只需要遵循以下几个步骤
1. 安装依赖
像往常一样,我们需要通过 Composer 拉取一些依赖。
composer require behat/behat behat/mink behat/mink-extension arisro/behat-lumen-extension --dev
这将使我们能够访问 Behat、Mink,当然还有 Lumen 扩展。
如果您想为 Behat 测试使用自定义的 .env 文件,您需要像这样修改 bootstrap/app.php
try { (new Dotenv\Dotenv(__DIR__.'/../', isset($dotEnvFile) ?: '.env'))->load(); } catch (Dotenv\Exception\InvalidPathException $e) { // }
2. 创建 behat.yml 配置文件
接下来,在您的项目根目录中创建一个 behat.yml
文件,并添加
default: autoload: [ %paths.base%/tests/functional/contexts ] extensions: Arisro\Behat\ServiceContainer\LumenExtension: # env_file: .env.behat Behat\MinkExtension: default_session: lumen lumen: ~ suites: default: paths: [ %paths.base%/tests/functional/features ] filters: contexts: - FeatureContext
可选:您可以为功能测试指定不同的 .env 文件(例如,使用测试数据库)。
3. 编写一些功能
这里有一个非常小的示例 https://github.com/arisro/behat-lumen-example。
注意:如果您想在 FeatureContext
文件中使用一些 Mink 辅助函数,请确保扩展 Behat\MinkExtension\Context\MinkContext
。