What to Test in an RSpec System Test

Learn about pyramid testing, system tests fodder, feature tests and system test performance.

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 those tests.

Get hands-on with 1200+ tech skills courses.