Package org.glassfish.pfl.test
Class JUnitReportHelper
- java.lang.Object
-
- org.glassfish.pfl.test.JUnitReportHelper
-
public class JUnitReportHelper extends java.lang.Object
Helper class for generating reports for tests that do not adapt well to Testng/JUnit. For example, several tests re-run the same test method and class many times with different parameters. JUnit does not support this at all. Testng does, but it is too much work to adapt these tests. Instead, we can just bracket test case execution with start/(pass|fail) calls.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JUnitReportHelper.Counts
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
className
private JUnitReportHelper.Counts
counts
private JUnitReportWriter.TestDescription
current
private boolean
DEBUG
private java.lang.String
fileName
private boolean
testComplete
private JUnitReportWriter
writer
-
Constructor Summary
Constructors Constructor Description JUnitReportHelper(java.lang.String cname)
Prepare to generate a JUnitReport in the file named ${junit.report.dir}/${name}.xml.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
checkCurrent()
JUnitReportHelper.Counts
done()
Testing is complete.void
fail(java.lang.String msg)
Report that the current test failed with an error message.void
fail(java.lang.String msg, long duration)
Report that the current test failed with an error message.void
fail(java.lang.Throwable thr)
Report that the current test failed with the given exception as cause.void
fail(java.lang.Throwable thr, long duration)
Report that the current test failed with the given exception as cause.private void
msg(java.lang.String str)
void
pass()
Report that the current test passed.void
pass(long duration)
Report that the current test passed.void
start(java.lang.String name)
Start executing a test case with the given name.
-
-
-
Field Detail
-
DEBUG
private final boolean DEBUG
-
writer
private JUnitReportWriter writer
-
className
private java.lang.String className
-
fileName
private java.lang.String fileName
-
current
private JUnitReportWriter.TestDescription current
-
testComplete
private boolean testComplete
-
counts
private JUnitReportHelper.Counts counts
-
-
Constructor Detail
-
JUnitReportHelper
public JUnitReportHelper(java.lang.String cname)
Prepare to generate a JUnitReport in the file named ${junit.report.dir}/${name}.xml. junit.report.dir is obtained from the environment variable which is passed to all CTF controllers.- Parameters:
cname
- The class name of the class for this test
-
-
Method Detail
-
msg
private void msg(java.lang.String str)
-
checkCurrent
private void checkCurrent()
-
start
public void start(java.lang.String name)
Start executing a test case with the given name. All names MUST be unique for an instance of JUnitReportHelper.- Parameters:
name
- The name of the test case
-
pass
public void pass()
Report that the current test passed.
-
fail
public void fail(java.lang.String msg)
Report that the current test failed with an error message.
-
fail
public void fail(java.lang.Throwable thr)
Report that the current test failed with the given exception as cause.
-
pass
public void pass(long duration)
Report that the current test passed.
-
fail
public void fail(java.lang.String msg, long duration)
Report that the current test failed with an error message.
-
fail
public void fail(java.lang.Throwable thr, long duration)
Report that the current test failed with the given exception as cause.
-
done
public JUnitReportHelper.Counts done()
Testing is complete. Calls to start, pass, or fail after this call will result in an IllegalStateException. This method may be called multiple times, but only the first call will write a report.
-
-