Creating custom test runners
Key 3: Getting information from test system.
The flow of unit test is like this: unittest TestProgram
in unittest.main
is the primary object that runs everything. Test cases are collected by test discovery or by loading modules that were passed via command line. If no test runner is specified to the main function, by default, TextTestRunner
is used. Test suite is passed to the runner's run function to give back a TestResult
object.
The custom test runners are a great way to get information in a specific output format, from the test system, manage run sequence, store results in a database, or create new features for project needs.
Let's now take a look at an example to create an XML output of test cases, you may need something like this to integrate with continuous integration systems, which are only able to work with some XML format. As in the following code snippet XMLTestResult
is the class that gives the test result in the XML format. The TsRunner
class test...