I have a similar setup, but using Docker images instead of Heroku buildpacks. Buildpacks are horrible if you want to do anything custom.
To make this work, I use Codeship instead of Travis. Codeship builds a Docker image, runs the tests against the image, then pushes the image to Heroku if the tests pass: https://documentation.codeship.com/pro/continuous-deployment...