Edgewall Software

Version 3 (modified by anonymous, 16 years ago) (diff)

--

Report Formats


ref: http://groups.google.com/group/bitten/browse_thread/thread/537d240d0124cde0

Cut 'n paste from Allen Bierbaum's post.


The base element of the report must be "report" and have an attribute "category" that is one of "test" or "coverage". Ex:

<report category="test|coverage">
</report>

Inside the report there must be elements for each report type. The way the data is captured is pretty flexible because it can either be in attributes or in child elements.

Test Reports

Test reports must have sub-elements of report of type "test". These elements can have any of these attributes (or subelements with contained cdata)

  • duration: float duration of test
  • status: string "success" or "failure" or "error"
  • name: string name of the test
  • fixture: string name of the test fixture
  • file: path to test file relative to the base path for the build configuration
  • stdout: The output from the test
  • traceback: The traceback from any error or failure.

Example:

<report category="test">
   <test duration="0.073" 
         status="success"
         fixture="bitten.tests.model.BuildConfigTestCase"
         name="test_config_update_name" 
         file="bitten/tests/model.py"
         stdout="Renaming build configuration"
         traceback="None">
   </test>
   <test>
     <duration>0.073</duration>
     <status>success</status>
     <fixture>bitten.tests.model.BuildConfigTestCase</fixture>
     <name>test_config_update_name</name>
     <file>bitten/tests/model.py</file>
     <stdout>Renaming build configuration</stdout>
   </test>
</report>

Coverage Reports

Similarly, coverage reports must be inside "coverage" elements. The allowable attributes are:

  • name: The name of the module being tested for coverage
  • file: The name of the file relative to the base path in the build configuration
  • percentage: The percentage of lines in that file covered
  • lines: The number of statements covered

Ex:

<test category="coverage">
   <coverage name="my_module"
             file="my_module.py"
             percentage="23.4"
             lines="450">
    </coverage>
</test>