Arquillian is a testing framework on top of JUnit (or TestNG if you prefer). It makes it easier to do integration tests in a managed environment (JEE environment here after).
We provide an embedded and remote adapter, see the available adapters for more details.
In a managed environment it is usually quite difficult to perform unit tests, due to the fact that most of the time you have to mock almost the entire environment. It is very time consuming and requires complicated integration tests that must reflect the production environment as best as possible. Unit tests lose their true value.
JEE always got seen as an heavy technology, impossible to test and to use in development. OpenEJB always fight against that idea and proved that it's really possible.
As David Blevins said:
"Do not blame EJBs (ie. Java EE) because your server is not testable."
With latest Java EE specifications (5 and especially 6), it becomes a reality. Arquillian typically addresses that area. It is basically a framework that aims at helping/managing the server/container in an agnostic way. Arquillian is responsible for the lifecycle of the container (start, deploy, undeploy, stop, etc).
TomEE community heavily invested on that framework to prove it's really useful and can really help testing Java EE application. That's also an opportunity to get the most out of TomEE (lightweight, fast, feature-rich, etc).
All edits are reviewed before going live, so feel free to do much more than fix typos or links. If you see a page that could benefit from an entire rewrite, we'd be thrilled to review it. Don't be surprised if we like it so much we ask you for help with other pages :)NOTICE: unless indicated otherwise on the pages in question, all editable content available from apache.org is presumed to be licensed under the Apache License (AL) version 2.0 and hence all submissions to apache.org treated as formal Contributions under the license terms.