bug #37729 [FrameworkBundle] fail properly when the required service is not defined (xabbuh)

This PR was merged into the 4.4 branch.

Discussion
----------

[FrameworkBundle] fail properly when the required service is not defined

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        |

Before:

```
Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException: You have requested a non-existent service "mailer.logger_message_listener".
```

After:

```
A client must have Mailer enabled to make email assertions. Did you forget to require symfony/mailer?
```

Commits
-------

a16ebc177d fail properly when the required service is not defined
This commit is contained in:
Fabien Potencier 2020-08-06 07:03:59 +02:00
commit d81eb081c3

View File

@ -122,10 +122,10 @@ trait MailerAssertionsTrait
static::fail('Unable to make email assertions. Did you forget to make an HTTP request?');
}
if (!$logger = self::$container->get('mailer.logger_message_listener')) {
if (!self::$container->has('mailer.logger_message_listener')) {
static::fail('A client must have Mailer enabled to make email assertions. Did you forget to require symfony/mailer?');
}
return $logger->getEvents();
return self::$container->get('mailer.logger_message_listener')->getEvents();
}
}