The Arquillian Persistence Extension (APE) has a facility for specifying what the DB should look like before and after a particular @Test is ran. My understanding is that the DB is setup and matched in seperate transactions to that which the @Test runs. This has the following issues/implications:
It only works for databases.
The code lives entirely in APE, meaning that there is no general support for this in the the Arquillian Transction Extension (ATE).
Any other extension that wished to offer similar behavior needs to implement it from scratch. For example, we may wish to load a JMS queue with messages before a test runs and assert the contents of the queue after it runs.
We pull out the general behavior into the ATE and then refactor APE and a potential "arquillian-extension-jms" to use this support.
The "UsingDataSet/ShouldMatchData" API is very specific to APE. This is good as it's very usable for APE users. Any generic support would need to somehow provide an equally usable API whilst being generic. I've not really thought this through much yet.