From af91a3e05bd8b72863ff5713f15c6e40fe139e27 Mon Sep 17 00:00:00 2001 From: Thomas Landauer Date: Mon, 27 Sep 2021 17:45:45 +0200 Subject: [PATCH] Improving error message for `public` services Is `\n` correct for a line break? --- src/Codeception/Module/Symfony/ServicesAssertionsTrait.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Codeception/Module/Symfony/ServicesAssertionsTrait.php b/src/Codeception/Module/Symfony/ServicesAssertionsTrait.php index 8d172c3b..fa484f2a 100644 --- a/src/Codeception/Module/Symfony/ServicesAssertionsTrait.php +++ b/src/Codeception/Module/Symfony/ServicesAssertionsTrait.php @@ -26,9 +26,8 @@ trait ServicesAssertionsTrait public function grabService(string $serviceId): object { if (!$service = $this->getService($serviceId)) { - $this->fail("Service {$serviceId} is not available in container. - If the service isn't injected anywhere in your app, you need to set it to `public` in your `config/services_test.php`/`.yaml`, - see https://symfony.com/doc/current/testing.html#accessing-the-container"); + $this->fail("Service `{$serviceId}` is required by Codeception, but not loaded by Symfony since you're not using it anywhere in your app.\n + Recommended solution: Set it to `public` in your `config/services_test.php`/`.yaml`, see https://symfony.com/doc/current/testing.html#retrieving-services-in-the-test"); } return $service; } @@ -92,4 +91,4 @@ protected function getService(string $serviceId): ?object } return null; } -} \ No newline at end of file +}