1

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
4

1 に答える 1