Spec2 を使用して単体テストしたいコントローラー内にメソッドがあります。
object MyController extends Controller with MyAuth {
def article(id: String) = {
authenticate {
......
}
}
}
authenticate
で定義されていMyAuth
ます。この関数は、利用可能な場合はトークンを取得するか、認証してトークンを取得します。authenticate
単体テスト中にモックしたいarticle
。これをどのように進めればよいかわかりません。どんなポインタも役に立ちます。
更新:これまでの私のアプローチ。この質問 を見て、MyAuth トレイトの認証メソッドをオーバーライドしました。
trait MyAuthMock {
this: MyAuth =>
override def authenticate ....
}
MyController
また、クラスとコンパニオン オブジェクトを持つように変更しました。次に、私のテストでは、コントローラーを次のように使用しました
new MyController with MyAuthMock