Package org.glassfish.pfl.test
Class JUnitReportHelper
- java.lang.Object
-
- org.glassfish.pfl.test.JUnitReportHelper
-
public class JUnitReportHelper extends java.lang.ObjectHelper 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 classJUnitReportHelper.Counts
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringclassNameprivate JUnitReportHelper.Countscountsprivate JUnitReportWriter.TestDescriptioncurrentprivate booleanDEBUGprivate java.lang.StringfileNameprivate booleantestCompleteprivate JUnitReportWriterwriter
-
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 voidcheckCurrent()JUnitReportHelper.Countsdone()Testing is complete.voidfail(java.lang.String msg)Report that the current test failed with an error message.voidfail(java.lang.String msg, long duration)Report that the current test failed with an error message.voidfail(java.lang.Throwable thr)Report that the current test failed with the given exception as cause.voidfail(java.lang.Throwable thr, long duration)Report that the current test failed with the given exception as cause.private voidmsg(java.lang.String str)voidpass()Report that the current test passed.voidpass(long duration)Report that the current test passed.voidstart(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.
-
-