bex / behat-test-runner
组件,用于帮助进行Behat扩展开发的自测
1.3.1
2020-04-07 15:12 UTC
Requires
- php: >=5.4
- behat/behat: ^3.0.0
- symfony/process: ^2.7.0
Requires (Dev)
- phpspec/phpspec: 2.4.0-alpha2
This package is auto-updated.
Last update: 2024-09-11 22:28:28 UTC
README
Behat Test Runner 实质上是一个 Behat 上下文类,提供了测试 Behat 扩展的步骤。您可以组合一个特性文件和 behat.yml 配置,然后测试运行器将启动第二个 Behat 进程来评估创建的特性文件。
安装
通过将以下内容添加到您的 composer.json
中进行安装
composer require --dev bex/behat-test-runner
配置
在 behat.yml
中包含上下文文件,如下所示
default: suites: default: contexts: - Bex\Behat\Context\TestRunnerContext
您可以为打开页面配置测试网页浏览器,如下所示(可选)
default: suites: default: contexts: - Bex\Behat\Context\TestRunnerContext: browserCommand: %paths.base%/bin/phantomjs --webdriver=4444
您可以为工作目录进行配置,如下所示(可选)
default: suites: default: contexts: - Bex\Behat\Context\TestRunnerContext: workingDirectory: path/to/your/working/dir # if not provided then a temporary working dir is autogenerated
用法
简单使用上下文文件中必要的步骤来组合您的特性。
示例
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: """ <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Test page</title> </head> <body> <h1>Lorem ipsum dolor amet.</h1> </body> </html> """ 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: """ <?php use Behat\MinkExtension\Context\RawMinkContext; class FeatureContext extends RawMinkContext { /** * @Given I open the index page */ function firstStep() { $this->visitPath('index.html'); } /** * @Then I should see the content :content on the page */ function secondStep($content) { $this->getMink()->assertElementContains('h1', $content); } } """ When I run Behat Then I should not see a failing test