What to Test in an RSpec System Test
Explore how to identify the key components to test within an RSpec system test in Rails. Understand the role of system tests in the broader testing pyramid, learn when to use feature tests versus unit tests, and recognize common pitfalls related to test speed and precision. Gain insights into testing interactions between controllers, models, and workflows effectively.
We'll cover the following...
Testing pyramid
Before we make this test pass, let’s take a look at what we’re trying to do. In a test-driven process, we would write a system spec to start the process and then write unit tests to drive the underlying logic. A commonly used metaphor for testing is the testing pyramid (see the following figure), where the tests have a relatively large number of unit tests that run quickly and test one small segment of the application, backed by significantly fewer integration tests that run more slowly over the application as a whole. The middle part usually refers to tests that are not quite unit tests but don’t quite test end-to-end integration, such as Rails controller tests. In general, we also want to write relatively few of ...