<ac:macro ac:name="note"><ac:parameter ac:name="title">Archived</ac:parameter><ac:rich-text-body>
<p>This proposal has been archived and is no longer under consideration. Most key issues it aimed to solve have solutions in current PHPUnit releases at this time.</p></ac:rich-text-body></ac:macro>
Issues noted during test running and test development:
Cannot run isolated tests - This is important for finding dependancy issues.. also speeds up development time when trying to develop tests.
New test writers are overwhelmed, when there are a lack of standard practices specific to the Zend Framework. Existing tests for components have a higher learning curve than necessary, since some writers add tests to suites and some add suites to suites inconsistently. Also, the current structure and organization increases the risk of changes (e.g. adding a test suite) made to the AllTests file causing adverse effects, like unintentionally undoing others' changes. Tests are getting lost in the shuffle. Currently, 2 test files exists that never get run.
Reasons for ZFTestManager
Ability to isolate unit test suites and unit test tests.
Ability to auto-generate Module's Directory and a stock AllTests.php file with default functionality for autolocating and loading tests.
Simplify unit test writing by reducing the learning curve and by adding Zend Framework conventions to configuraiton and organization.
3. Component Requirements, Constraints, and Acceptance Criteria
Zend_UnitTest will not make increase the complexity or difficulty of writing or using unit tests for ZF components.
Zend_UnitTest will require some very minor changes to the names of existing unit tests and changes to directory organization of the unit tests to adhere to a consistent convention.
Zend_UnitTest will load all tests, and then perform the ones that have been selected.
Zend_UnitTest will support printing a hierarchical list of suites for testing.
Zend_UnitTest will support creating a new suite at specified location.
Zend_UnitTest will allow performing only selected tests, including a specific test, a test suite, and a suite along with its children.
4. Dependencies on Other Framework Components
5. Theory of Operation
see notes inside generated AllTests.php file inside your Suite directory.