You don't need to know all about Cargo or Cactus but it helps if you familiarize yourself with them.
You need basic developer skills. You need to know how to use a build system (Ant, Maven, IDE, etc.). You need to know Java. You need to understand automated testing and how servlet containers work. And of course, you need to know about JSF.
If you don't have these skills then you need to get them somewhere else.
This page gives a step-by-step example. Hundreds of developers have used it to create their first JSFUnit test:
first thank you for your response
i do have most of the skills that you mentioned in deferent levels.