When running tests that interacts with a database I usually try to use a in-memory database but in this case you are using Mongo so it's not quite that simple.
For some API tests you can use
JUnit or maybe restfuse, an extension of JUnit. It works pretty good for simple stuff. Sample:
http://blog.mintcube.solutions/2014/08/swift-api-testing-with-restfuse/
Regarding the way to make the process faster, if you are using
Maven, can you run the maven build with something like those goals: 'clean install tomcat:run test'? (build your application, start the server and run the unit tests)
With mongo I would try one of the following
- look at Embedded MongoDB
- try to do some transaction rollback before putting data in Mongo
- clean up Mongo after the tests will run