Using hooks

When a unit test requires a few setup steps, we can just include those steps in the test case before our assertion. For example, we may want to create some entries in a database or configure a service before we execute a test.

When the setup is more complex, it can clutter the test case, making the intent of the test harder to understand while increasing the effort required to maintain the test code. Even if the setup steps are short, if they are repeated in many places, duplication of code can lead to similar problems.

It is common for a setup to require cleanup or teardown steps to ensure tests don't interfere with each other. For example, if we added a few records to a database in a setup phase, we want to remove those records so ...

Get RSpec Essentials now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.