PHPackages                             bex/behat-test-runner - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. bex/behat-test-runner

AbandonedArchivedLibrary

bex/behat-test-runner
=====================

Component to help in self testing Behat extension development

1.3.1(6y ago)31.7k↑233.3%1[1 PRs](https://github.com/elvetemedve/behat-test-runner/pulls)6MITPHPPHP &gt;=5.4

Since Nov 13Pushed 1y ago2 watchersCompare

[ Source](https://github.com/elvetemedve/behat-test-runner)[ Packagist](https://packagist.org/packages/bex/behat-test-runner)[ Docs](https://github.com/elvetemedve/behat-test-runner)[ RSS](/packages/bex-behat-test-runner/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (8)Dependencies (3)Versions (13)Used By (6)

Behat Test Runner
=================

[](#behat-test-runner)

[![Build Status](https://github.com/elvetemedve/behat-test-runner/actions/workflows/ci.yml/badge.svg)](https://github.com/elvetemedve/behat-test-runner/actions/workflows/ci.yml/badge.svg)

Behat Test Runner is essentially a Behat context class which provides steps for testing a Behat extension. You can put together a feature file and behat.yml configuration, than the test runner will start a second Behat process to evaluate the created feature file.

Installation
------------

[](#installation)

Install by adding to your `composer.json`:

```
composer require --dev bex/behat-test-runner
```

Configuration
-------------

[](#configuration)

Include the context file in `behat.yml` like this:

```
default:
  suites:
    default:
      contexts:
        - Bex\Behat\Context\TestRunnerContext
```

You can configure the test web browser to be used for opening the pages, like this (optional):

```
default:
  suites:
    default:
      contexts:
        - Bex\Behat\Context\TestRunnerContext:
            browserCommand: %paths.base%/bin/phantomjs --webdriver=4444
```

You can configure the working directory like this (optional):

```
default:
  suites:
    default:
      contexts:
        - Bex\Behat\Context\TestRunnerContext:
            workingDirectory: path/to/your/working/dir # if not provided then a temporary working dir is autogenerated
```

Usage
-----

[](#usage)

Simply use the necessary steps from the context file to put together your feature.

An example:

```
Feature: Visiting a page on the website
    In order to demonstrate how to use test runner
    As a developer
    I should open a page and verify the content of it

    Scenario: Visiting the index.html page
        Given I have the file "index.html" in document root:
            """

                  Test page

                  Lorem ipsum dolor amet.

            """
        And I have a web server running on host "localhost" and port "8080"
        And I have the feature:
            """
            Feature: Test runner demo feature
                Scenario:
                    Given I open the index page
                    Then I should see the content "Lorem ipsum" on the page
            """
        And I have the context:
            """
