Going further along the quest to get Tomcat tests running in Maven, I need to ask a style question:

Most or all of the taglib testcases use a pattern where they call a private method "runMyTest" with some parameters. This method calls pageContext.forward() to pass control to a JSP where the tags are actually tested.

A problem I had while trying to get the Cactus tests to run is that this "runMyTest" method caught an exception from pageContext.forward() and called the "fail" method. This resulted in the real stack trace getting printed to STDOUT (amidst output from 100 test cases) and a not particularly useful message getting placed in the test report.

I would suggest that the proper behavior here is to throw the exception and let JUnit deal with it as an error rather than a failure. This puts the actual error in the test report, which makes it a lot easier to solve the problem.

I've actually implemented this change locally in the test classes to help me debug the cactus tests. Would anyone object to making these changes permanent?

For what it's worth, I've got it passing 71/97 tests clear, and the rest fall into two categories: 19 with failures because the context-path of the test app is hardcoded as "test" and the plugin uses "struts-cactus", and 7 that have to do with cookie values. If anyone has any clever ideas for the simplest way to extract the context path without using the tags which are being tested, I'm all ears... the cookie thing is totally baffling at the moment.

Joe


--
Joe Germuska
[EMAIL PROTECTED]
http://blog.germuska.com
"We want beef in dessert if we can get it there."
-- Betty Hogan, Director of New Product Development, National Cattlemen's Beef Association

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to