One of the nice things about using Arquillian with JSFUnit 2.0 is that you are no longer forced to use overlays. With Cactus, you need to modify an existing WAR, so it makes sense to do the modifications in a seperate Maven module that depends on the regular WAR. But with JSFUnit 2.0, you can easily keep everything in one Maven module and execute tests more naturally as you develop within the module.
That being said, there are other valid reasons to use overlays, so I understand your problem. One way I can think of to do what you want is to use the maven dependency plugin to copy the dependent WAR into a directory and then pull it in using Shrinkwrap. But the Arquillian community might have a better idea so I'm moving this thread over to the Arquillian forum to get their feedback.
Thanks for your answer, I get your point, ShrinkWrap came in useful to manipulate the war under test. Right now I have copied the war into test project and used Shrinkwrap to add extra files (JSFUnit test and configs) and the tests are running fine. Given below is the api used to read an existing war and make additions to it before deploying to Jetty through arquillian:
ZipFile existingZipFile = new ZipFile("JavaServerFaces.war");
WebArchive war = ShrinkWrap.create(ZipImporter.class, "test.war")
Then manipulate the war file in usual way as in the example project.
One way would be to simply bind the test to the integration-test phase in Maven. At that point you have your finished packaged up war from maven, import that into a Arquillian test and manipulate away. (if that works for you module setup)
I'm not 100% clear on what you want to do with the War, that relates to manually adding JSFUnit stuff?
By Adding JUnit stuff I mean adding config files such as beans.xml, jetty-env.xml, JSFUnit test case to the original JSF application war.
The JSF project is based on a OSGI build/development environment and maven is not being used in development setup so I have set up a separate maven project to test JSF with JSFUnit as proof of concept.
Aaa ic.. then I would go with what stan suggest. get hold of the file 'somehow' and import it as a WebArchive. Add and manipulate as you see fit and let Arquillian handle the rest (actually adding JSFUnit, Protocol executers etc)