Description
Fixtures are controlled by the underlying ActiveRecord::TestFixtures
code. Which sets up fixtures before each example. While the database may have fixture data in it before this point, that data will be reset once the test fixture code runs.
When the fixtures
message is sent in an example group, or global fixtures are defined, the Active Record test fixtures register the accessors in an anonymous module. That module is included in the example group's ancestors.
Which means the accessor helpers are available in any example group instance; thus they are available in before(:context)
and after(:context)
. However, the internal fixture setup and cache has not been performed yet. Attempting to call a fixture helper prior to the fixtures being setup, raises an undefined method on NilClass
error.