From c8b0cbb205d8036db58149fd97535c7167c47a06 Mon Sep 17 00:00:00 2001 From: Kamil Kokot Date: Wed, 9 Jan 2019 23:15:52 +0100 Subject: [PATCH] Test isolating contexts --- features/isolating_contexts.feature | 54 +++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 features/isolating_contexts.feature diff --git a/features/isolating_contexts.feature b/features/isolating_contexts.feature new file mode 100644 index 0000000..6cfe6cd --- /dev/null +++ b/features/isolating_contexts.feature @@ -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: + """ + 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