mirror of
https://github.com/symfony/recipes.git
synced 2026-09-21 03:56:24 +03:00
Merge pull request #92 from sroze/add-behat-recipe
This commit is contained in:
@@ -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.
|
||||||
Reference in New Issue
Block a user