Hi all,
As I mentioned previously, I am working on cactus testing
for WTP. I think it certainly makes sense in the long term to integrate server-side
unit testing with TPTP. However, until we get to that point, it would be nice
to support something, however minimal. Currently, I have a very simple launch
shortcut for executing cactus tests on the server. I have run into a couple of
challenges, however, and I wanted to get a little bit of feedback from the
community.
In my mind, the Cactus test case is very similar to the
servlet case. You examine a CompilationUnit and if it extends ServletTestCase, it
is a WebResource. I was able to do something similar (creating a
WebTestableResource), but it required a modification to
WebDeployableArtifactUtil.getModuleObject() to do it. The challenge is that the
org.eclipse.jst.j2ee.web plugin has a moduleArtifactAdapter enabled for
ICompilationUnit and unless I am mistaken, I can’t add my own
moduleArtifactAdapter without clashing. Is this correct, or can two adapter peacefully
co-exist somehow?
The other issue that started recently with the latest
integration build (I20050331) is that in WebDeployableArtifact.getServletMapping(),
the J2EEWebNatureRuntimeUtilities.getJ2EERuntime(). I was using that to
validate that the cactus servlet had been set up for the project that is being
run. I have had to disable that for now. Ultimately, I would like to
automatically add the servlet mapping when a test is run, but I have not
figured that out how to do that yet.
I would be happy to share this code with anyone who is interested
or I could post it to the group, if that is deemed appropriate. I am using some
internal APIs and if there are more appropriate public APIs, I would definitely
like to hear about them.
Thanks,
Daniel