Good options:
Ah HA! It's possible to exclude certain dependencies from the test phase by using the surefire-plugin. That's described in this StackOverflow answer.
This way I can create my war and not have the dependencies in the test scope (thanks Peter Mularien)!
Bad options:
It looks like the maven assembly plugin requires you to have any include
dependencies also available in a dependency scope. Since test
is the smallest scope, it's impossible to include a dependency in your war without having it also be available on the test scope of the project.
The maven war plugin does not allow you to include (or exclude) dependencies.
Another other option is to create a second "distribution" module that includes the needed dependencies in it's pom. However, that means that the arquillian test is then referencing the previous build's war -- which is also not ideal.
Yet another option is to use Shrinkwrap to create a jar with tests and fork the JVM to run the "test" jar -- I've done this before when I needed to test my code with multiple ORM's (otherwise, having OpenJPA in your path conflicts with having Hibernate in your path, for example). But that disconnects your tests from your test framework (JUnit, TestNG, etc.) and makes the tests hard to debug.