There is a third way; create your controller as a class or a trait for testing. Here is a simple example. Your trait + implementation: package services trait MyService { def getUser(id:String):User } class ConcreteService extends MyService { override def getUser(id:String):User = { //Do real stuff } } In your controller class: package controllers import services._ class Users(service: MyService) e
![Mock Objects in Play[2.0]](https://cdn-ak-scissors.b.st-hatena.com/image/square/98d6f053a97a87156775f60757c60865d0f2c47d/height=288;version=1;width=512/https%3A%2F%2Fcdn.sstatic.net%2FSites%2Fstackoverflow%2FImg%2Fapple-touch-icon%402.png%3Fv%3D73d79a89bded)