doulu5717 2018-02-26 08:37
浏览 38

如何在Golang中使用Revel框架从控制器模拟服务?

I am writing unit test for project written in revel framework. Revel itself provides testing framework but its more towards BDD test type. So I started with go test. The MyController.go file looks like below

type MyController struct {
    *revel.Controller
}

func (c MyController) HealthCheckHandler() revel.Result {
   responseBody, status := service.HealthService()
   c.Response.Status = status
   return c.RenderJSON(responseBody)
 }

MyController_test.go file

func TestHealth(t *testing.T ){

myController := &MyController{
    &revel.Controller{
        Response:&revel.Response{
            Status:200,
        },
    }   ,
    }
 res := myController.HealthCheckHandler()

}

How can I mock HealthService() method ? If I use Interface-Composition way for mocking then how routes will inject the interface? As routes.go is self generated file.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
    • ¥15 数据可视化Python
    • ¥15 要给毕业设计添加扫码登录的功能!!有偿
    • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
    • ¥15 微信公众号自制会员卡没有收款渠道啊
    • ¥15 stable diffusion
    • ¥100 Jenkins自动化部署—悬赏100元
    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘