test: describe the parser tests recorder
authorAntoine Musso <hashar@free.fr>
Tue, 19 Mar 2013 14:09:04 +0000 (15:09 +0100)
committerAlexandre Emsenhuber <ialex.wiki@gmail.com>
Thu, 25 Apr 2013 20:07:33 +0000 (22:07 +0200)
How to best describe the myriad of parser tests recorder we have?  PHP
come with interfaces which let us express what a developer should expect
from all those common classes.

The ITestRecorder interface represent our parser test recorders.

Change-Id: I58e10e7ebcb7ae1c4598a4f7e3bd4f11a7f713c4

tests/testHelpers.inc

index 02fcf24..4c778f6 100644 (file)
  * @ingroup Testing
  */
 
-class TestRecorder {
+/**
+ * Interface to record parser test results.
+ *
+ * The ITestRecorder is a very simple interface to record the result of
+ * MediaWiki parser tests. One should call start() before running the
+ * full parser tests and end() once all the tests have been finished.
+ * After each test, you should use record() to keep track of your tests
+ * results. Finally, report() is used to generate a summary of your
+ * test run, one could dump it to the console for human consumption or
+ * register the result in a database for tracking purposes.
+ *
+ * @since 1.22
+ */
+interface ITestRecorder {
+
+       /** Called at beginning of the parser test run */
+       public function start();
+
+       /** Called after each test */
+       public function record( $test, $result );
+
+       /** Called before finishing the test run */
+       public function report();
+
+       /** Called at the end of the parser test run */
+       public function end();
+
+}
+
+class TestRecorder implements ITestRecorder {
        var $parent;
        var $term;