The JT harness is based on Sun Microsystems' 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.2.1 is a milestone release. 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
tutorial.html
)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.5 or later | http://java.sun.com/javase/index.jsp | |
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.
Version 4.2.1 is a maintenance release. It fixes bugs and it contains the following notable behavior changes:
This release of the harness contains fixes for the following defects:
Bug ID | Description |
---|---|
4422418 | Dynamic update of Test Panels and message in "configuration" and "test run details" |
4872437 | No tooltip on "Other" exclude list list in Std Value view |
4914047 | Configuration error message does not specify the incorrect parameter |
6425352 | Open WD dialog disappears and does nothing when Open is pressed with a focus on any directory |
6438509 | Mnemonics do not work for items in the new status bar |
6460208 | CreateWorkDirectory/Templates table should try its best to show long template descriptions |
6483875 | Save the Configuration/Template editor window size |
6486735 | Truncate long filenames in Files tab for test result panel |
6495275 | FileNotFoundException for an invalid log file name |
6495815 | A long work directory name is not fully displayed in the status line |
6495835 | Status line does not show the configuration file when a template is loaded |
6496426 | Menu items aren't consistent. Sometimes "..." is missing, sometimes "..." exists where it should not |
6498090 | Selecting 'launch Configuration Editor' checkbox when loading template opens the template editor |
6513256 | Test results are not cleared in the test tree |
6515115 | Notification logging dialogs appear in batch mode |
6518345 | Not selecting the report format in the report converter causes data loss |
6532000 | Template Editor sometimes opens the wrong template |
6556984 | Specified TestsToRun list, unlike other filters, doesn't affect ExecuteTheseTests functionality |
6582813 | NPE in EventDispatchThread occured when wrong keywords expression in entered |
6595264 | Show message if no conflicts/updates are found when "Check for template updates" is selected |
6598238 | Create Report dialog: scroll bars needed |
6624092 | Report Converter: user input lost if particular error happens on the last step of the wizard |
6636568 | 'Filtered Out' tab not refreshed (stays grayed) after View Filter is changed |
6675576 | Arrows don't work in List of Available Reports |
6699295 | Deadlock if keyword expression changed |
6702426 | "Not run" tab is not available when starting harness or opening workdir |
6726833 | Tabs in folder panel not enabled/disabled as needed when custom filter changed |
6750305 | Attempt to open WD based on deleted template caused NPE and silent failure to open it |
6764057 | Report Converter Tool should ignore NOT_RUN tests when resolving conflict between multiple sources |
6779609 | "Current Template" report filter works wrong for the "Create Report" dialog |
6803526 | Should not be able to create WD without a template then run tests with it |
6804657 | Empty cells have no borders in html report summary table |
6806408 | javatest.tool.Preferences object is not saved onto the disk when user closes exec tool |
6806493 | Create Report dialog permits report creation when no target report types are selected |
6806506 | Create Report dialog sometimes malfunctions with enabling/disabling report options |
6806861 | Various issues with Copy-Paste functionality in the Configuration/Template editor |
6830597 | Filtered Out tab may accidentally lose its contents - problem with synchronizing with tree selection |
6859818 | Harness should handle "Template not found" error situation more gracefully |
The following bugs will be of interest to test suite architects.
Bug ID | Description |
---|---|
4842710 | In the JavaTest Architect's Guide, Appendix A, the ExecStdOtherVm passage says CLASSPATH is needed by the JDK |
4978831 | Data filtering for status and test result strings removes non-ASCII text |
5072027 | Some TestFilter subclasses are not hashtable-friendly |
6476766 | AgentClassLoader2 should define packages |
6413394 | NullPointerException thrown when invoking Interview.storeProperty(key, null) |
6484939 | CustomTestResultViewer.setResult or onChangedSetResult are not called after test execution finish |
6567022 | Poor Javadocs for com.sun.interview.PropertiesQuestion.*Constraints |
6571832 | Filename constraints work incorrectly in PropertiesQuestion |
6658179 | Memory leaks: Consecutive /OpenWD, /Close operations leak memory for *Interview objects |
6658227 | Memory leaks: Harness doesn't release objects properly when working with a single-instance TestSuite |
6674329 | javatestClassDir variable may be incorrectly encoded |
6738742 | Extension filter broken in create workdir dialog |
6788128 | ContextManager.getInterview() method functionality should be clarified and made more consistent |
6802369 | ProgressMonitor/TestsInProgress window should add started test only once |
6806901 | Custom services are unavailable when Harness started with java -jar javatest.jar |
6806903 | Make com.sun.javatest.services.Message serializable |
6820024 | ProcessExecutor checks exit code for equality to 0 after process destroy |
6820550 | Improve efficiency of TestDescription#getRootRelativeURL() method implementation |
6822008 | ContextManager should not be created twice during ExecTool.<init> execution |
6822443 | Clarify the relationships and lifecycle of the ContextManager class |
6823064 | Unnecessary reload of current configuration on opening Configuration Editor |
6823155 | com.sun.javatest.InterviewParameters lifecycle and usage should be clarified and documented |
6824104 | Provide method to InterviewParameters#dispose() to clean up the interview objects |
6836117 | TemplateParameterFilter should not unnecessarily produce new InterviewParameters objects |
6842839 | Tests not always populated in tree |
6847126 | SimpleInterviewParameters defines wrong command for the agent mode |
6881315 | Provide observers notification upon implicit or explicit test tree refresh invocation |
6877042 | Allow named TestResult.Section.output buffer to be cleared |
6872537 | Incorrect interview tree path creation in some cases |
6873903 | Allow using ReverseTestFinder with a custom created test finder delegate |
6882498 | JT harness should not ignore exceptions occurring during ToolManager#startTool(ip) invocation |
This release of the JT harness contains the following known bugs:
Bug ID | Description |
---|---|
Issue 09 | Tree selection may change during execution |
Issue 65 | Right click doesn't work on Mac OS in Test Lists |
6451875 | Log Viewer: Impossible to mark log text when live scrolling mode is ON |
6880733 | Huge Status reason string corrupts harness |
Run JT Harness with Java Platform, Standard Edition (Java SE) 5.0 or later. Note that the search capability in the online help does not work correctly in Java SE 5.0_03 through Java SE 5.0_06.
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 © 2009 Sun Microsystems, Inc. All rights reserved. The JT Harness project is released under the GNU General Public License Version 2 (GPLv2).