- 2005 Feb 03: Continuous Testing Plug-in for Eclipse Version 1.1.4 Released
The newest version of the plug-in is now available from the website.
New updates to the tool include:
- New features:
- Compatibility with Eclipse 3.1M4
- Low priority execution: On Linux only, tests can be run in "nice" mode, yielding more CPU to other processes.
- Test decorator support: Test suites that use test decorators are run and prioritized correctly.
- Hierarchy tab restored: There are now three tabs in the JUnit view: Failures is as before, and Hierarchy always shows the test tree in its default order, as before. The new "Order" tab shows the tests in the order they are run.
- New test filtering and prioritization API: developers of prioritization and filtering plug-ins need do less of their own data management
- New experimental features:
- Test hotswapping: When possible, the Java debugging interface is used to reload changed classes into a running test JVM, rather than starting a new JVM for each test run. This should reduce the lag time caused by reloading unchanged classes.
- Remote execution: You can run a test server on a remote machine, and tell Eclipse to run tests there. This reduces the CPU load on the local machine. Currently, your workspace must be on a shared network drive that has the same name on both machines.
- Bugs fixed:
- Test names are no longer written to console.
- UI is more stable.
- Plug-in dependencies are followed when searching for compile errors to prevent automatic launch.
- Failure markers for tests that are not run due to filtering are deleted
- And many more.
- Nontangible benefits:
- Redesigned code base
- Test suite that is doubled in size
- 2004 Oct 25 Continuous Testing Plug-in for Eclipse Version 1.1.3 Released
The newest version of the plug-in is now available from the website.
New updates to the tool include:
- A new view has been added to the tool. The Failure View displays the
failure trace of a testing error when a problem marker is selected in the
Problems View.
- There is no longer a pop-up warning to inform the user that there is a
compiler error in a project when an automatic test run tries to start. The
test run quietly stops.
- Test failure markers in a project no longer prevent a JUnit test from
running.
- During a test run, while the failure marker turns gray, the View Trace
pop-up action displays the failure trace. Previously, while the marker was
gray, this caused an error.
- 2004 Oct 15 Continuous Testing Plug-in for Eclipse Version 1.1.2 Released
The new version of the plug-in has been released and is ready to use. Changes
have been made to allow continuous testing on plug-in development projects.
Updates for Version 1.1.2
- Allow the use of continuous testing on plug-in development projects.
- Allow the use of filtering and prioritization on JUnit Plug-in Tests.
- All previous test runs for a given project are stopped before a new test run is started.
- Fixed Bugzilla Items Bugzilla
- 65 183 189 154 155 163 164 124 137 182
***In order to use JUnit Plug-in Tests***
A reminder that in order for Eclipse to run JUnit Plug-in Tests, the plug-in
must have org.junit listed in its dependencies.
***Filter/Prioritizer Developers***
One point of interest for anyone developing their own filter or prioritizer
extensions is that the interfaces have been moved. The filter interface is
now located at org.eclipse.jdt.junit.runner.ITestFilter, and the
prioritizer is now at org.eclipse.jdt.junit.runner.ITestPrioritizer.
- 2004 Sep 07 Continuous Testing Plug-in for Eclipse Version 1.1.1 Released
New functionality has been added to the Continuous Testing Plug-in v1.1. It now provides experimental support for continuously testing Eclipse plug-in projects. Now, Eclipse developers can use the tool to help develop Eclipse plug-ins faster and more efficiently.
- 2004 Aug 06 Continuous Testing Plug-in for Eclipse Version 1.1 Released
On August 6th, 2004, a new release of the plug-in was released. The new
release adds to the functionality of the plug-in and adds many new features
to the JUnit plug-in for Eclipse.
- New user interface for modifying continuous testing settings.
- Test method prioritization and filtering have been implemented as extension
points, allowing developers to easily create their own filters and
prioritizers. (Thanks to Carsten Behring for the initial implementation of this feature.)
- The results of continuous testing are now viewed through the JUnit result
view. The previous results of each test run are saved and can be viewed
later through the JUnit view.
- Prioritizers and filters can now be informed about changes in a project's
files.
- JUnit test launches now support test filtering and prioritization.
- Several bugs from previous versions have been fixed. Most notably, a bug has been fixed that caused changes to unrelated projects to trigger spurious test suite executions.
We would like to hear your thoughts on the new features. We are excited to
see the prioritizers and filters that you can create and use with the new
release.
NOTE: The new version of the continuous testing feature comes with replacement plug-ins for Eclipse's JUnit support. If you wish to go back to using the original JUnit plug-ins, you must uninstall the continuous testing feature; simply disabling it will also disable the default JUnit functionality.
- 2004 Jun 11 Version 1.0.2 Released
For now, we have decided to develop this as a stand-alone plug-in, resolving
several issues so that it might be considered for inclusion in Eclipse 3.1. A
new version that works with 3.0 M9 and 3.0 RC1 (and perhaps not earlier
versions) is now available. This new version includes Carsten Behring's enhancements, but
does not include his separate plugin with the dependency algorithm.
There is also now a separate bugzilla repository just for the plug-in, at
http://pag.csail.mit.edu/zilla. Please make further enhancement requests and
bug reports there. Share and Enjoy.
- 2004 Mar 09 Version 1.0.1: works with M6 and M7
I have now attached v1.0.1,
which works with both M6 and M7. Further bug reports and feature requests are appreciated.
- 2004 Feb 06 Continuous Testing Plug-in for Eclipse Version 1.0 Released
Attached is a plug-in that implements continuous testing, as described below.
A user study with students has shown that continuous testing has measurable productivity
benefits in certain situations--I think it could be a very useful part of the standard Eclipse toolset.
It currently is only tested against Eclipse 3.0 M6.
Continuous testing builds on the automated developer
support in Eclipse to make it even easier to keep your Java code well-tested, if you have a JUnit test suite.
With continuous testing enabled, as you edit your code, Eclipse runs your tests quietly in the background,
and notifies you if any of them fail or cause errors. It is most useful in situations where you would already
have a test suite while you are changing code: when performing maintenance, refactoring, or using test-first
development.
Continuous testing builds on the following features of Eclipse:
- JUnit integration: Test suites run under continuous testing give you the same information, in the same
format, that you already get from Eclipse's JUnit integration. However, continuous testing also helps
to automate the choice of when to run tests, which tests to run, and in which order.
- Compile error notification: As soon as you write code that contains a compilation error, Eclipse
highlights the error in the text and the margin, and creates a task in the Problems table. This makes it
easy both to quickly find out if what you wrote was wrong, and to step through and fix problems in an
orderly fashion. With continuous testing, you get the same kind of notification when you write or edit
code that causes one of your tests to fail. However, test failures are different from compile errors in
several ways: test failures can sometimes not easily be tracked to a single line of code, and test failures
also can provide more information, such as a backtrace, than compile errors.
Continuous testing was
first developed by David Saff at MIT as part of his PhD research. Let me know if it sounds useful to
have it as part of the base distribution, and what next steps would be required to begin getting it to the
state where that could happen.