Whereas Feature Tests start a server or app under test (thereby loading its
entire object graph), integration tests generally only test across a few interfaces in the system.
In Finatra, we provide the c.t.inject.app.TestInjector
which allows you to pass it a set of modules and flags to construct a minimal object graph.

To write an integration test, extend the c.t.inject.IntegrationTest trait. Then override the
injector val with your constructed instance of c.t.inject.app.TestInjector. You’ll then be able
to access instances of necessary classes to execute tests.

If you are writing a test that has an HTTP server under test, you can also extend the
c.t.finatra.http.HttpTest trait. This trait provides some common utilities for HTTP testing,
specifically utilities for constructing a resolverMap flag value for setting on your server under
test.