文章同步更新於https://kevinyay945.com/smart-home-tutorial/024
大致的api都开设完成了,在这次的专案中,目前预计会实作的测试为实际的request是否可以完整执行,因为这麽实作,就可以把测试案例写在程序中频繁地进行测试,来做到向下兼容的部分
而这次进行测试,一样要使用到ginkgo来产生测试的范本
而这次要写的测试案例,主要是http的request的input跟output
所以这个部分,我们参考echo 官网的测试案例撰写
https://echo.labstack.com/guide/testing/
而这次还有使用到gomock
这个mock主要是要让我们来将程序中有用到其他依赖的interface来做替换,让我们可以在测试案例中自由选择这些method预期的输出
在这次的测试案例中,我们就是将IRequest中的换成我们用gomock产生的struct,然後来让程序中Get()变得可以自由控制他的预期输入跟输出
这个的详细使用可以参考
https://github.com/golang/mock
另外,在golang中,如果想要mock其他内容,还有其他种方式,也在这边附上我找到的还不错的参考
https://www.myhatchpad.com/insight/mocking-techniques-for-go/
以下是这次的code跟编辑的影片过程
https://github.com/kevinyay945/smart-home-backend/tree/v0.5.1
https://www.youtube.com/watch?v=kQm3ozOMkro
https://yuanchieh.page/posts/2021/2021-03-18-golang-test/
又因为在撰写程序的当下,他有释出第二版,所以目前想使用v2的ginkgo
https://github.com/onsi/ginkgo/blob/ver2/docs/MIGRATING_TO_V2.md#using-the-beta
所以要先在专案下执行
go get github.com/onsi/ginkgo/[email protected]
来让专案的go.mod里面的ginkgo升级成v2
再来用
go install github.com/onsi/ginkgo/v2/ginkgo
来将系统的cli更新
>>: [番外篇]Go Generate & Makefile(Day25)
听音乐先~ Rails操作实体 接续前一篇文章,做出一个实体後。 专案中 project_name/...
本系列文之後也会置於个人网站 +----------+ +----------------+ | ...
在 5 年前,不只在开会时会这样要求,也常常说一个概念:SEO 是一种 Multi-Stack 的工...
上次我们学会了如何用talib进行指标运算,今天将介绍如何在盘中即时计算技术指标,且当技术指标达到我...
前言 在前面的文章讲完了 Pod 後接下来就要讲讲如何正确的连接到 Pod ,其实连接到 Pod 有...