0

ログイン用にこのgoコードを書きます。今、私は自分のコードを単体テストしたいと思っています。このコードは、コントローラーからサービス レイヤー、そしてサービスからリポジトリ レイヤーに依存します。モックにgomockツールを使用したいのですが、他に提案があれば教えてください。私はエコーフレームワークを使用しています。ここ

serializers.LoginReq =
{
    Email   string,
    Phone  string,
    Admin  bool 
}
type auth struct {
    authSvc svc.IAuth
    userSvc svc.IUsers
}

func NewAuthController(grp interface {}, authSvc svc.IAuth, userSvc svc.IUsers) {
    ac: = & auth {
        authSvc: authSvc,
        userSvc: userSvc,
    }
    g: = grp.( * echo.Group)
    g.POST("/v1/login", ac.Login)
}


func(ctr * auth) Login(c echo.Context) error {
    var cred * serializers.LoginReq
    var resp * serializers.LoginResp
    var err error

    if err = c.Bind( & cred) err != nil {
        return c.JSON(err.Status, err)
    }
    
    if resp, err = ctr.authSvc.Login(cred); err != nil {
        return c.JSON(err.Status, err)
          }
    return c.JSON(http.StatusOK, resp)
} 
4

1 に答える 1