Advanced Test Runners

EmbUnit offers three more advanced result outputters as an additional static library, They can be taken into use by linking the library and replacing the main -function TextUIRunner and giving it the preferred outputter as reference. An example is below.

 
          TextUIRunner_setOutputter(TextOutputter_outputter());

          TextUIRunner_start();

          TextUIRunner_runTest(shutterTest_tests());

          TextUIRunner_end();
 

The outputter can be selected from one of the following:

          TextUIRunner_setOutputter(TextOutputter_outputter());

          TextUIRunner_setOutputter(CompilerOutputter_outputter());

          TextUIRunner_setOutputter(XMLOutputter_outputter());

Below is an output of same tests formatted with each outputter:

Standard TextOutputter


- shutterTest
1) OK testConstruct
2) OK testRequestUp
3) OK testRequestDown
4) NG testBuffer (shuttertest.c 168) exp 0 was 1

run 4 failures 1

CompilerOutputter


shuttertest.c 168: testBuffer: exp 0 was 1

XMLOutputter

 

<?xml version="1.0" encoding='shift_jis' standalone='yes' ?>
<TestRun>
<shutterTest>
<Test id="1">
<Name>testConstruct</Name>
</Test>
<Test id="2">
<Name>testRequestUp</Name>
</Test>
<Test id="3">
<Name>testRequestDown</Name>
</Test>
<FailedTest id="4">
<Name>testBuffer</Name>
<Location>
<File>shuttertest.c</File>
<Line>168</Line>
</Location>
<Message>exp 0 was 1</Message>
</FailedTest>
</shutterTest>
<Statistics>
<Tests>4</Tests>
<Failures>1</Failures>
</Statistics>
</TestRun>