arisro/behat-lumen-extension

Lumen 对 Behat 的扩展

安装次数: 2,495

依赖: 0

建议者: 0

安全性: 0

星星: 5

关注者: 3

分支: 14

公开问题: 7

类型:behat-extension

v2.0.1 2016-03-24 21:18 UTC

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