承接 libresign/behat-builtin-extension 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

libresign/behat-builtin-extension

最新稳定版本:v0.6.3

Composer 安装命令:

composer require libresign/behat-builtin-extension

包简介

Behat extension to run php built-in web server

README 文档

README

Behat

Extension to use built-in PHP server on Behat tests

Instalation

composer require libresign/behat-builtin-extension
vendor/bin/behat --init

Configuration

Add the extension to your behat.yml:

default:
  extensions:
    PhpBuiltin\Server:
      verbose: false
      rootDir: /var/www/html
      host: localhost

Config values

config default Environment Description
verbose false BEHAT_VERBOSE Enables/disables verbose mode
rootDir /var/www/html BEHAT_ROOT_DIR Specifies http root dir
host localhost BEHAT_HOST Host domain or IP
runAs BEHAT_RUN_AS The username to be used to run the built-in server
workers 0 BEHAT_WORKERS The quantity of workers to use. More informations here searching by PHP_CLI_SERVER_WORKERS

You can also use -v option to enable verbose mode. Example

vendor/bin/behat -v

The verbose mode will show:

  • The rootDir used
  • The output of PHP Built-in server

Usage example

<?php

use Behat\Behat\Context\Context;
use PhpBuiltin\RunServerListener;

/**
 * Defines application features from the specific context.
 */
class FeatureContext implements Context
{
    private string $baseUrl;
    public function __construct()
    {
        $this->baseUrl = RunServerListener::getServerRoot();
    }

    public function sendRequest(string $verb, string $url, ?array $body = null, array $headers = []): void
    {
        $client = new Client();

        $fullUrl = $this->baseUrl . ltrim($url, '/');

        $options['headers'] = $headers;

        if (is_array($body)) {
            $options['form_params'] = $body;
        }

        try {
            $this->response = $client->{$verb}($fullUrl, $options);
        } catch (ClientException $e) {
            $this->response = $e->getResponse();
        } catch (ServerException $e) {
            $this->response = $e->getResponse();
        }
    }
}

统计信息

  • 总下载量: 53.17k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 1
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: AGPL-3.0
  • 更新时间: 2022-02-21