RobotTestingFramework 2.0.1
Robot Testing Framework
Loading...
Searching...
No Matches
simple_runner.cpp

This example shows how to use a TestRunner to run the tests.

This example shows how to use a TestRunner to run the tests.

/*
* 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 MyTest : public TestCase
{
public:
MyTest() :
TestCase("MyTest")
{
}
bool setup(int argc, char** argv) override
{
ROBOTTESTINGFRAMEWORK_TEST_REPORT("running MyTest::setup...");
return true;
}
void tearDown() override
{
ROBOTTESTINGFRAMEWORK_TEST_REPORT("running MyTest::teardown...");
ROBOTTESTINGFRAMEWORK_ASSERT_ERROR("this is just for example!");
}
void run() override
{
ROBOTTESTINGFRAMEWORK_TEST_REPORT("testing integers");
ROBOTTESTINGFRAMEWORK_TEST_FAIL_IF_FALSE(2 < 3, "is not smaller");
ROBOTTESTINGFRAMEWORK_TEST_FAIL_IF_FALSE(5 < 3, "is not smaller");
}
};
int main(int argc, char** argv)
{
// create a test listener to collect the result
ConsoleListener listener(false);
// create a collector to get computer readable
// test results
// create a test result and add the listeners
TestResult result;
result.addListener(&listener);
result.addListener(&collector);
// create a test runner
TestRunner runner;
MyTest atest;
runner.addTest(&atest);
runner.run(result);
// return the number of failed tests
return collector.failedCount();
}
#define ROBOTTESTINGFRAMEWORK_ASSERT_ERROR(message)
Assertion with throwing error exception.
Definition TestAssert.h:90
#define ROBOTTESTINGFRAMEWORK_TEST_FAIL_IF_FALSE(condition, message)
Conditional failure report.
Definition TestAssert.h:149
#define ROBOTTESTINGFRAMEWORK_TEST_REPORT(message)
Reporting a message to the TestResult.
Definition TestAssert.h:131
class ConsoleListener listens to any messages reported by the tests during the test run,...
The base class to implememnt a test case.
Definition TestCase.h:42
The TestResultCollector class can be used to store all the events issued by the test cases,...
unsigned int failedCount()
failedCount gets the number of failed test cases.
The TestResult class is used to deliver the test results including any error and failures produced by...
Definition TestResult.h:44
void addListener(TestListener *listener)
Adding a new listener.
The TestRunner class runs the tests added as TestCase or TestSuite.
Definition TestRunner.h:42
void run(TestResult &result)
Run all the tests in the list.
void addTest(Test *test)
Adding a new test.