Sunday October 03, 2004
[ANN] Cargo 0.2 Released Download · Release Notes · Learn More · Project Weblog. I've been looking for something like Cargo for a while now - mainly so I could provide an easy way to test JSPs (and therefore the whole app) in-container. For the last couple of years, I've been using Cactus' <runservertests> task, but it requires you to configure your own startup and shutdown targets - which can be difficult for the different containers. Cargo makes this easy. So easy that I've added it as a topic to Chapter 8 of Spring Live. BTW, the MyUsers sample app shows you how to use jMock and Easy Mock for isolating Manager tests and Action/Controller tests - something that I might eventually move to with AppFuse.
In 1.5, AppFuse's build.xml is tightly coupled to Tomcat for running Cactus tests and Canoo WebTests. There are only a couple of Cactus tests in the Spring and WebWork versions - LoginServletTest and ActionFilterTest and I believe I can use Spring Mocks to refactor those and test them out-of-container.
Using Spring's ContextLoaderPlugin for Struts, I should be able start testing the Struts Actions using MockStrutsTestCase too. This means that the only in-container tests will be Canoo WebTests. As part of 1.6, hopefully you'll be able to run the "test-web" target sans container. Right now it sounds like quite a challenge, but being able to run Spring's Controllers and WebWorks Actions out-of-container is a really nice feature. Furthermore, removing Cactus as a dependency would open the doors for using JDK 5.0.
I'm also hoping to add support for switching containers - by running a simple script that nips and tucks the build.xml. For 1.6, I'll try to add an installer for Resin. If it's easy, I might take a stab at Jetty and Orion too.
Update: Cactus is gone - there's no need for it anymore as all actions/controllers, filters and listeners can be tested out-of-container. The best part is I didn't have to change any application code - just a few tests. Sweet!
Posted in Java
at Oct 03 2004, 04:15:48 PM MDT
2 Comments
The Beauty of SiteMesh
I'm pumped that I recently switched from Tiles to SiteMesh in AppFuse. Not only was it easy to learn when I integrated it into Equinox, but it easy to replace Tiles with SiteMesh in AppFuse.
The best part of SiteMesh is once you have it setup and configured, you rarely have to muck with it again - it just works. In fact, it's so non-obtrusive that when I re-worked all AppFuse's tutorials last week, I was able to delete a whole tutorial. That's right folks, by removing Tiles and going with SiteMesh - the number of tutorials dropped from 5 to 4. Reduction in code and words needed to explain it is always a good thing.
Furthermore, SiteMesh continues to be evolving and getting better. Good stuff.
BTW, did you know you can use SiteMesh-style templates in your Roller blog? I'm using this feature on JRoller and it works great.
Posted in Java
at Oct 03 2004, 11:39:38 AM MDT
Add a Comment
Search This Site
Recent Entries
- New Passport in 9 Days
- EhCache Project Busy this Summer
- Spontaneous Stuff Weekend
- Awesome Birthday Present: A Kegerator
- Maven Plugin for Running Integration Tests against Multiple Containers
- Presenting Web Frameworks of the Future Tomorrow in Denver
- My OSCON Aftermath
- OSCON 2008 Wrapup
- [OSCON 2008] Even Faster Web Sites by Steve Souders
- [OSCON 2008] CSS for High Performance JavaScript UI by Gavin Doughtie