It's purpose Edit
The purpose of the test harness is to provide a facility for the convenient execution of test code. This should promote quality in the codebase by encouraging test-driven design and the use of regression testing.
How is it implemented Edit
Test Harness is bundled with the XAO distribution and runs as a client-server application. The client is implemented as a remote XUL application where the XUL is generated by some PHP scripts. The XUL front-end then uses AJAX and RDF to interact with the PHP backened which executes all the user-built tests. The XUL client has been tested with Firefox 1.5 and so should work in any Mozilla environment that supports gecko 1.8.
How it works Edit
You can write general test methods that accept a single parameter which is a reference to an instance of a test result object. You then interact with this result object in accordance with your custom tests.
Current status Edit
Currently the Test Harness is receiving all the development effort as the XAO official release is being held up by a lack of testing. When the Test Harness is finished, then I will go through the XAO code and retro-fit tests to all the most important components. Once I am reasonably satisfied with the outcomes, I can then put out an official release of XAO (which bundles Test Harness).
The Test Harness is available as a component of the XAO distribution. It is not available separately. If you want a copy, you either need to download a copy of XAO, or you need to pull it from it's directory in the CVS