Merge pull request #92 from sroze/add-behat-recipe

This commit is contained in:
Symfony
2017-06-22 15:56:30 -07:00
committed by GitHub
6 changed files with 90 additions and 0 deletions
@@ -0,0 +1,12 @@
default:
suites:
default:
contexts:
- FeatureContext:
kernel: '@kernel'
extensions:
Behat\Symfony2Extension:
kernel:
bootstrap: features/bootstrap/bootstrap.php
class: App\Kernel
@@ -0,0 +1,48 @@
<?php
use Behat\Behat\Context\Context;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\KernelInterface;
/**
* This context class contains the definitions of the steps used by the demo
* feature file. Learn how to get started with Behat and BDD on Behat's website.
*
* @see http://behat.org/en/latest/quick_start.html
*/
class FeatureContext implements Context
{
/**
* @var KernelInterface
*/
private $kernel;
/**
* @var Response|null
*/
private $response;
public function __construct(KernelInterface $kernel)
{
$this->kernel = $kernel;
}
/**
* @When a demo scenario sends a request to :path
*/
public function aDemoScenarioSendsARequestTo(string $path)
{
$this->response = $this->kernel->handle(Request::create($path, 'GET'));
}
/**
* @Then the response should be received
*/
public function theResponseShouldBeReceived()
{
if ($this->response === null) {
throw new \RuntimeException('No response received');
}
}
}
@@ -0,0 +1,8 @@
<?php
use Symfony\Component\Dotenv\Dotenv;
// The check is to ensure we don't use .env in production
if (!getenv('APP_ENV')) {
(new Dotenv())->load(__DIR__.'/../../.env');
}
@@ -0,0 +1,12 @@
# This file contains a user story for demonstration only.
# Learn how to get started with Behat and BDD on Behat's website:
# http://behat.org/en/latest/quick_start.html
Feature:
In order to prove that the Behat Symfony extension is correctly installed
As a user
I want to have a demo scenario
Scenario: It receives a response from Symfony's kernel
When a demo scenario sends a request to "/"
Then the response should be received
@@ -0,0 +1,8 @@
{
"copy-from-recipe": {
"behat.yml.dist": "behat.yml.dist",
"features/": "features/"
},
"aliases": ["behat"],
"gitignore": ["behat.yml"]
}
@@ -0,0 +1,2 @@
<bg=blue;fg=white> Next for Behat/SymfonyExtension </>
Run <comment>vendor/bin/behat</> to run the demo tests.