Reorganise feature files

This commit is contained in:
Kamil Kokot
2019-01-10 22:01:48 +01:00
parent df47b5199d
commit 9ea3ac6f30
6 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
Feature: Isolating contexts
Scenario: Keeping contexts isolated between scenarios
Given a working Symfony application with SymfonyExtension configured
And a Behat configuration containing:
"""
default:
suites:
default:
contexts:
- App\Tests\SomeContext
"""
And a feature file containing:
"""
Feature:
Scenario: First scenario
Then the property should be "shit happens"
Scenario: Second scenario
When I change the property to "shit does not happen"
Then the property should be "shit does not happen"
Scenario: Third scenario
Then the property should be "shit happens"
"""
And a context file "tests/SomeContext.php" containing:
"""
<?php
namespace App\Tests;
use Behat\Behat\Context\Context;
use Psr\Container\ContainerInterface;
final class SomeContext implements Context {
private $property = 'shit happens';
public function __construct(?ContainerInterface $container = null) { $this->container = $container; }
/** @When I change the property to :value */
public function changeProperty(string $value): void { $this->property = $value; }
/** @Then the property should be :expected*/
public function propertyShouldBe(string $expected): void { assert($this->property === $expected); }
}
"""
And a YAML services file containing:
"""
services:
App\Tests\SomeContext:
public: true
"""
When I run Behat
Then it should pass

View File

@@ -0,0 +1,33 @@
Feature: Running bare Behat scenarios
Scenario: Running Behat with SymfonyExtension
Given a working Symfony application with SymfonyExtension configured
And a Behat configuration containing:
"""
default:
suites:
default:
contexts:
- App\Tests\SomeContext
"""
And a feature file containing:
"""
Feature:
Scenario:
Then it should pass
"""
And a context file "tests/SomeContext.php" containing:
"""
<?php
namespace App\Tests;
use Behat\Behat\Context\Context;
final class SomeContext implements Context {
/** @Then it should pass */
public function itShouldPass(): void {}
}
"""
When I run Behat
Then it should pass