JSF Unit testing along with JUnit

I want to know that which framework or tool is best for web application unit testing along with the JUnit. Can I know the differences between various framework like Cactus , Selenium and Shale. Can anyone suggest me that which one is best to use long with JUnit For JSF application and why is it so?

[306 byte] By [vng_javaa] at [2007-11-27 11:32:00]
# 1

well the most precise answer is: it depends...

Selenium can be categorized as "Functional Unit test tool". Basically you let a browser access the webapplication like a remote-controlled car. You do this either by coding the test-case in a java-class or a html-fragment.

in java.dev.net there is a project called "jsf-extensions" that contains a mock-object library "test-time" for JSF 1.2

Maybe others could comment the other mentioned tools, and the existing mock-libraries...

Alexander_Jessea at 2007-7-29 16:43:02 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 2

Thanks ..But I want framework for unit testing along with JUnit specially for JSF application.As now it is clear that Selenium is for functional testing and not for unit testing .So now I have two choices left .ie. between Cactus and Shale.What I understand is that Cactus does not directly support JSF in container testing and it falls apart when trying to reference stuff like FacesContext.getInstance(). Am i right? Can anyone tell me how useful is Shale for JSF .is there any disadvantages of Shale?

vng_javaa at 2007-7-29 16:43:02 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 3

Selenium is also JUnit-comaptible. There are examples on how to use Selenium. Therefor consider it as a possible addition to your JUnit-toolbox.

Shale: I never understood from the supplied doc whether it is only for JSF 1.1 or also for JSF 1.2... This can be decisive for its applicability.

Cactus: might be dependent on some mock-library for the JSF-objects, but that's something I do not know.

Alexander_Jessea at 2007-7-29 16:43:02 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...