Test Levels¶
The following indicates what each level of tests should be made up of:
Bronze¶
- Trigger web requests to the application
- PHPQA passes all tests, possibly with exceptions where needed
Silver¶
- Generates PHPUnit coverage to PHPUnit's default threshold
- Includes
@covers
on the Test class, but not individual methods - Where suppressions are added, inline documentation to explain them must be present
- Infection unless impossible (TODO: clarify)
Gold¶
- Include
@covers
on all test methods - Exceed PHPQA default configuration thresholds
- No suppressions of PHPQA tests
- Must include at least two of Small/Medium/Large tests for each class in the application