Should I use both SeamTest and JSFUnit?
JSFUnit is an in-container superset of SeamTest. SeamTest is especially well-suited to testing Seam components in isolation. SeamTest also has a simulated JSF lifecycle that you can use for quick and dirty integration testing. Of course, SeamTest runs a little faster because you don’t have to start the container. But that’s becoming less of an issue as many containers these days can start in 5-6 seconds. With JSFUnit, you can literally test every part of your application in its true deployment environment. You get a real HttpRequest/HttpResponse and you run through your chosen JSF implementation with all its associated servlet filters, phase listeners, etc. All the artifacts, the HTML, the request/response objects, the managed beans, the FacesContext, and the database, are available for assertions. So the way I see it is that you should use SeamTest for isolated testing of Seam components. You can also use it for limited integration testing if you don’t mind setting up the mock environ