JT harness is based on Oracle's JavaTest harness. The JT harness is a general purpose, fully-featured, flexible, and configurable test harness very well suited for most types of unit testing. Originally developed as a test harness to run TCK test suites, it has since evolved into a general purpose test platform.
The JT harness:
JT harness 4.4 contains new features as well as bug fixes. We encourage you to try JT harness, participate in the community, and contribute to further development.
This binary release contains a built version of the JT harness (lib/javatest.jar
)
and a tutorial that introduces you to the JT harness graphical user interface.
The JT harness binary distribution is laid out as follows:
install_dir/
legal/
lib/
javatest.jar
, the JUnit binary jt-junit.jar, and support libraries.doc/
examples/tutorial
The JT harness tutorial includes an HTML tutorial that uses an example API and testsuite to introduce you to the JT harness graphical user interface. Follow these steps to run the tutorial:
examples/tutorial
your current directory.tutorial.html
in your web browser and follow the step-by-step directions.The JT harness requires the technologies listed in the following table.
Technology | Where to Get It | Notes |
---|---|---|
JDK™ version 1.6 or later | http://www.oracle.com/technetwork/java/javase/overview/index.html | |
Run the JT harness using the following command:
% java -jar javatest.jar
Note: Typically, a user executes JT harness in the context of a test suite. Read the tutorial documentation for instructions about how to execute JT harness with the tutorial example test suite.
The JT Harness, Version 4.4 is a feature release. It fixes bugs and it contains the following notable changes:
To assist in analyzing/comparing results between test runs, the known failures list (KFL) concept has been added to the harness. It allows the user to specify one or more files which contain the names of tests that are known to result in a Failed status when executed. When you supply this list of tests to the harness (using the command line or the Configuration Editor) the HTML report can generate an additional section that can help readers identify which tests have an unexpected result (as compared to what expected results the KFL represents). See the CLI and GUI User guides or the online help for more information.
Historically the matching of test names in an exclude list (and generally within the harness) is case-insensitive, although case is preserved by the harness internally. Matching can now be case sensitive if the javatest.caseSensitiveJtx
System property is set to true. In the future, a programmatic way to do this might be provided.
The general usage is:
java -Djavatest.caseSensitiveJtx=true -jar ...
This section discusses potential security vulnerabilities in the harness deliverables.
The harness itself is self-contained in javatest.jar, the only external dependency is jh.jar, which should be placed either on the classpath or in the same directory as javatest.jar. If desired, the following optional parts of the binary distribution can be deleted:
examples/
directory.doc/
directory.lib/jt-junit.jar
which is an optional binary component.Remote Agent Risks
The harness includes the JT Harness agent, a remote execution framework. Using the agent opens communication ports on your machine and on the agent machine, therefore care is required to ensure that the machine is protected against malicious attack.
For secure operation, both the host and the remote machine should be used in a protected intranet on a physically isolated network.
This release of the harness contains fixes for the following defects:
Bug ID | Description |
---|---|
6495417 | Improve usability of the "Report Converter" tool. |
6497948 | Improve test selection GUI by employing check-box tree. |
6513941 | Save view filter setting. |
6540784 | Improve speed of loading the ResultCache file. |
6767605 | Restoring state for slightly different test suites causes problem. |
6793690 | Harness takes an unreasonably long time to start executing a large number of selected test names. |
6901152 | Allow known test execution order. |
6957357 | Configuration->Load Recent Configuration menu behavior is incorrect. |
6942088 | Not possible to generate COF file for old results. |
6867785 | COF generator doesn't use the platform of the host where the tests have been executed. |
6974144 | COF generator should always add information on test cases to XML. |
6974915 | COF file should be based on the JTI for providing info about tests which were not run. |
The following bugs will be of interest to test suite architects.
Bug ID | Description |
---|---|
7001921 | ContextManager is inaccessible from test suite. |
7001923 | ContextManager.refreshTests() collapses tests' tree. |
7003414 | ISSUE #71: Need an ability to remove "Agent Monitor" menu. |
7019591 | Order of questions loading should be specified. |
6466213 | JAR files should be updated to conform to current layout standards. |
6571505 | Not able to create a work directory using a relative path. |
6890139 | Misprints in Java files. |
6980497 | Impossible to provide a BinaryTestFinder subclass in "finder", in jtt. |
The following are known issues in the JT Harness 4.4 release.
Bug ID | Description |
---|---|
6434239 | A long name for template/configuration files cannot be fully displayed. |
6446655 | There's a keyboard navigation problem in the Tests To Run tree. |
6451875 | Log Viewer: Impossible to mark log text when live scrolling mode is ON. |
6478125 | Some files remain locked after closing the working directory, preventing the deletion of the directory. |
6488302 | Errors while opening write-protected working directory. |
6518334 | Report Converter does not generate an error message for an existing report file. |
6518375 | Resolving conflicts between two reports in the Report Converter is confusing. |
6543609 | "Waiting to lock test result cache" is not interruptible. |
6675884 | Tooltips in PropertiesQuestion are sometimes incorrect. |
6796286 | Inconsistent style for editing numeric values in IntQuestion, FloatQuestion and PropertiesQuestion. |
The JT Harness, Version 4.1 release provided basic changes in the following areas:
.jtm
file extension.
.jti
file).
Version 4.1.2 was a bug fix release.
Version 4.1.3 added support for test suites based on JUnit 3.8.x and 4.x and also addressed bug fixes.
Version 4.1.4 was a bug fix release.
Version 4.2 was a bug fix release.
Version 4.2.1 was a maintenance release. It included changes to enable the Test Panel to update as a test runs, and extended the Quick Pick execution to include Tests to Run settings in configurations. This behavior is controlled by preference settings.
Version 4.3 was a release with the following major features:
This section discusses features that are working properly but have limitations due to factors JT Harness can't control.
Because of the method the Java SE platform uses to render fonts, when you print a document from the harness user interface, the fonts in the printed documents are larger than they are when rendered on the screen.
The JT Harness User's Guide has been provided in PDF form for your use in printing pages from the documents. While the online help viewer supports printing operations, in some cases you may be unable to use it to print a specific page. If this occurs, use the PDF version of the appropriate User's Guide to print the page. Printing of non-HTML report types is not supported. Users are informed of this when they attempt to print a non-HTML report type. Support will be added for this in a future release.
JT Harness allows you to specify the status colors used in the GUI. See the online help for detailed information about changing the default status colors.
The Agent Monitor tool may not apply to all test suites, even if the test suite uses an agent. See your test suite documentation for detailed information about the agent that it uses and its use of the Agent Monitor tool.
Copyright © 2011, Oracle and/or its affiliates. All rights reserved. The JT Harness project is released under the GNU General Public License Version 2 (GPLv2).