DI and Cucumber
You don’t need to use a DI container when you use Cucumber. When you use Cucumber without one of the DI integrations, it manages the creation of all your hooks and step definitions itself. Cucumber creates fresh instances of each step definition or hook class for each scenario. Of course that means that these classes need to have a default constructor; otherwise Cucumber won’t know how to create them. This makes it hard to share state safely between several step definition classes.
DI can make some of your everyday work less tedious and error prone. As soon as you add one of the DI integrations, the DI container takes over the responsibility for creating the hooks and step definitions. All the DI containers can also inject ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access