Runs a set of unit tests. More...
#include <juce_UnitTest.h>
Classes | |
struct | TestResult |
Contains the results of a test. More... | |
Public Member Functions | |
UnitTestRunner () | |
virtual | ~UnitTestRunner () |
Destructor. More... | |
int | getNumResults () const noexcept |
Returns the number of TestResult objects that have been performed. More... | |
const TestResult * | getResult (int index) const noexcept |
Returns one of the TestResult objects that describes a test that has been run. More... | |
void | runAllTests (int64 randomSeed=0) |
Runs all the UnitTest objects that currently exist. More... | |
void | runTests (const Array< UnitTest * > &tests, int64 randomSeed=0) |
Runs a set of tests. More... | |
void | runTestsInCategory (const String &category, int64 randomSeed=0) |
Runs all the UnitTest objects within a specified category. More... | |
void | setAssertOnFailure (bool shouldAssert) noexcept |
Sets a flag to indicate whether an assertion should be triggered if a test fails. More... | |
void | setPassesAreLogged (bool shouldDisplayPasses) noexcept |
Sets a flag to indicate whether successful tests should be logged. More... | |
Protected Member Functions | |
virtual void | logMessage (const String &message) |
Logs a message about the current test progress. More... | |
virtual void | resultsUpdated () |
Called when the list of results changes. More... | |
virtual bool | shouldAbortTests () |
This can be overridden to let the runner know that it should abort the tests as soon as possible, e.g. More... | |
Private Member Functions | |
void | addFail (const String &failureMessage) |
void | addPass () |
void | beginNewTest (UnitTest *test, const String &subCategory) |
void | endTest () |
Private Attributes | |
bool | assertOnFailure = true |
String | currentSubCategory |
UnitTest * | currentTest = nullptr |
bool | logPasses = false |
Random | randomForTest |
OwnedArray< TestResult, CriticalSection > | results |
Friends | |
class | UnitTest |
Runs a set of unit tests.
You can instantiate one of these objects and use it to invoke tests on a set of UnitTest objects.
By using a subclass of UnitTestRunner, you can intercept logging messages and perform custom behaviour when each test completes.
@tags{Core}
juce::UnitTestRunner::UnitTestRunner | ( | ) |
|
virtual |
Destructor.
|
private |
|
private |
|
private |
|
noexcept |
Returns the number of TestResult objects that have been performed.
|
noexcept |
Returns one of the TestResult objects that describes a test that has been run.
|
protectedvirtual |
Logs a message about the current test progress.
By default this just writes the message to the Logger class, but you could override this to do something else with the data.
|
protectedvirtual |
Called when the list of results changes.
You can override this to perform some sort of behaviour when results are added.
void juce::UnitTestRunner::runAllTests | ( | int64 | randomSeed = 0 | ) |
Runs all the UnitTest objects that currently exist.
This calls runTests() for all the objects listed in UnitTest::getAllTests().
If you want to run the tests with a predetermined seed, you can pass that into the randomSeed argument, or pass 0 to have a randomly-generated seed chosen.
Runs a set of tests.
The tests are performed in order, and the results are logged. To run all the registered UnitTest objects that exist, use runAllTests().
If you want to run the tests with a predetermined seed, you can pass that into the randomSeed argument, or pass 0 to have a randomly-generated seed chosen.
Runs all the UnitTest objects within a specified category.
This calls runTests() for all the objects listed in UnitTest::getTestsInCategory().
If you want to run the tests with a predetermined seed, you can pass that into the randomSeed argument, or pass 0 to have a randomly-generated seed chosen.
|
noexcept |
Sets a flag to indicate whether an assertion should be triggered if a test fails.
This is true by default.
|
noexcept |
Sets a flag to indicate whether successful tests should be logged.
By default, this is set to false, so that only failures will be displayed in the log.
|
protectedvirtual |
This can be overridden to let the runner know that it should abort the tests as soon as possible, e.g.
because the thread needs to stop.
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |