> Deploying the tests in a servlet container is not an option. It is very important for us to be able to run tests quickly, and having to wait for an ear-deployment is far from quick enough
I'm not clear on why deployment and running are linked in this way. Deploy once, run as many times as you like without the overhead of redeploying?
AFAIK the tests have to be running inside a servlet container, and unless you resort to some fancy classloading, that would mean a redeployment of the tests after each change.
The reason we so dislike the redeployment scenario, is that it severly slows down the code-test-fix cycle (of the test-cases).
Servlet reloading should be small overhead compared to the total test execution time and especially compared to the code writing and compilation steps. The container needs to reload only the modified class, not redeploy the entire webapp.
BTW, how is the state of your services represented? EJBs?