RobotTestingFramework  2.0.1
Robot Testing Framework
Public Member Functions | Private Attributes | List of all members
robottestingframework::TextOutputter Class Reference

Class TextOutputter saves the results of the test collected by a TestResultCollector in a plain text file. More...

#include <robottestingframework/TextOutputter.h>

Public Member Functions

 TextOutputter (TestResultCollector &collector, bool verbose=false)
 TextOutputter constructor. More...
 
virtual ~TextOutputter ()
 ~TextOutputter destructor More...
 
bool write (std::string filename, bool summary, TestMessage *errorMsg=nullptr)
 write Write the results of the test in a text file. More...
 

Private Attributes

bool verbose
 
TestResultCollectorcollector
 

Detailed Description

Class TextOutputter saves the results of the test collected by a TestResultCollector in a plain text file.

The results are written with the same order collected by the TestResultCollector.

Here's an example of using a TextOutputter:

/*
* Robot Testing Framework
*
* Copyright (C) 2015-2019 Istituto Italiano di Tecnologia (IIT)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <cstdio>
using namespace robottestingframework;
class MyTest1 : public TestCase
{
public:
MyTest1() :
TestCase("MyTest1")
{
}
void run() override
{
ROBOTTESTINGFRAMEWORK_TEST_FAIL_IF_FALSE(3 < 5, "is not smaller");
}
};
class MyTest2 : public TestCase
{
public:
MyTest2() :
TestCase("MyTest2")
{
}
void run() override
{
ROBOTTESTINGFRAMEWORK_TEST_REPORT("testing equality");
ROBOTTESTINGFRAMEWORK_TEST_FAIL_IF_FALSE(5 == 3, "are not equal");
}
};
int main(int argc, char** argv)
{
// create a test listener to print out the result
ConsoleListener listener(false);
// create a test result collector to collect the result
// create a test result and add the listeners
TestResult result;
result.addListener(&listener);
result.addListener(&collector);
// create a test suite and the test cases
TestSuite suite("MyTestSuite");
MyTest1 test1;
MyTest2 test2;
suite.addTest(&test1);
suite.addTest(&test2);
// create a test runner
TestRunner runner;
runner.addTest(&suite);
runner.run(result);
// print out some simple statistics
printf("\n-------- results ---------\n");
printf("Total number of tests : %d\n", collector.testCount());
printf("Number of passed tests: %d\n", collector.passedCount());
printf("Number of failed tests: %d\n", collector.failedCount());
// store the results in a text file
TextOutputter outputter(collector);
outputter.write("./result.txt", true);
// return the number of failed tests
return collector.failedCount();
}
Examples:
simple_collector.cpp.

Definition at line 43 of file TextOutputter.h.

Constructor & Destructor Documentation

◆ TextOutputter()

robottestingframework::TextOutputter::TextOutputter ( TestResultCollector collector,
bool  verbose = false 
)

TextOutputter constructor.

Parameters
collectoran instance of a TestResultCollector which holds the results of the test
verboseenables the verbose mode. If true, the source file and the line number where the messages are issued by the tests will be written to the output file. The verbose mode is disabled by default.

◆ ~TextOutputter()

virtual robottestingframework::TextOutputter::~TextOutputter ( )
virtual

~TextOutputter destructor

Member Function Documentation

◆ write()

bool robottestingframework::TextOutputter::write ( std::string  filename,
bool  summary,
TestMessage errorMsg = nullptr 
)

write Write the results of the test in a text file.

Parameters
filenamethe name of the text file. If an instance of the TestMesagge is given to the function, it will return the error message in case of failure.
errorMsga pointer to a TestMessage to return the error message in case of failure. It can be left unassigned if it is not required.
Returns
true or false uppoun success or failure

Member Data Documentation

◆ collector

TestResultCollector& robottestingframework::TextOutputter::collector
private

Definition at line 77 of file TextOutputter.h.

◆ verbose

bool robottestingframework::TextOutputter::verbose
private

Definition at line 76 of file TextOutputter.h.


The documentation for this class was generated from the following file: