alma::acs::testsupport::tat::TATJUnitRunner Class Reference
List of all members.
Detailed Description
Replacement for junit.textui.TestRunner
that helps avoid some issues with using JUnit embedded in ALMA TAT scripts.
Note that the intent is not to get rid of the output-based testing that TAT offers, but to complement it with result-based testing as JUnit proposes it, and to make the latter easier in a TAT environment. Both approaches have their merit, so chose one depending on what you want to test.
Internally calls TestRunner#doRun(Test), controlling the ResultPrinter output as well as System.out
and System.err
.
Fixes the following issues
-
If the tests succeed,
TestRunner
produces too much output, which forces test developers to provide TAT with reference output files of all successful JUnit test runs, which seems absurd given that JUnit does all error checks already itself.
TATJUnitRunner
produces no output for successful tests, which means it suppresses
-
TestRunner
s output
-
any other output to
System.out
-
any other output to
System.err
Both TestRunner
and TATJUnitRunner
return an exit code 0
to indicate a successful run.
-
If a test fails (either JUnit "failure" or "error"),
TestRunner
reports this in the execution summary, without giving any details on the problem, e.g. the assertion that caused the failure.
TATJUnitRunner
in this case becomes rather verbose and dumps on System.err
-
the detailed
TestRunner
output using a ResultPrinter
.
-
any output to
System.out
during test execution
-
any output to
System.err
during test execution
Both TestRunner
and TATJUnitRunner
return an exit code 1
for a failure and 2
for an error.
For either failure or success, the following line is printed as the first line to stdout, so that TAT or other tools can analyze how many tests have run, and how many succeeded:
TEST_RUNNER_REPORT success/total: int/int
where int
is replaced by the respective integer number.
- Author:
- hsommer
Member Function Documentation
void alma::acs::testsupport::tat::TATJUnitRunner::closeFiles |
( |
|
) |
[inline, static, private] |
|
void alma::acs::testsupport::tat::TATJUnitRunner::main |
( |
String[] |
args |
) |
[inline, static] |
|
void alma::acs::testsupport::tat::TATJUnitRunner::redirectSysOutputStreams |
( |
|
) |
throws FileNotFoundException [inline, static, private] |
|
void alma::acs::testsupport::tat::TATJUnitRunner::restoreSysOutputStreams |
( |
|
) |
[inline, static, private] |
|
void alma::acs::testsupport::tat::TATJUnitRunner::run |
( |
Test |
suite |
) |
[inline, static, private] |
|
|
Note that if this method should become public in the future (and thus can be called directly, rather than from run(Class), the handling of the output streams and the like must be shared properly between the two run methods. - Parameters:
-
|
void alma::acs::testsupport::tat::TATJUnitRunner::run |
( |
Class |
testClass |
) |
throws FileNotFoundException [inline, static] |
|
|
Runs a suite extracted from a TestCase subclass.
Redirects System.out and System.err so that successful test runs will not produce any output, while in case of failure/error they get dumped to System.err. |
void alma::acs::testsupport::tat::TATJUnitRunner::traceOutput |
( |
boolean |
isFailure |
) |
[inline, static, private] |
|
Member Data Documentation
The documentation for this class was generated from the following file:
Generated on Thu Apr 30 02:54:34 2009 for ACS Java API by
1.3.8