Each fixture instance represents a particular aspect of a test environment. For example,
you may use UserFixture to initialize the user database table with a set of known data. You may
load the fixture when running every test method so that the user table always contains the fixed data
and thus allows your test predictable and repeatable.
A fixture may depend on other fixtures, specified via the [[depends]] property. When a fixture is being loaded,
its dependent fixtures will be automatically loaded BEFORE the fixture; and when the fixture is being unloaded,
its dependent fixtures will be unloaded AFTER the fixture.
You should normally override Fixture::load to specify how to set up a fixture; and override Fixture::unload
for clearing up a fixture.
For more details and usage information on Fixture, see the guide article on fixtures.