Golang: Testing: Integration Testing

 19th September 2022 at 11:43am

Golang 的集成测试实践。

集成数据库等中间件

集成测试的一大痛点是涉及中间件的部分。在测试环境生成一个干净的中间件服务,并且要填充进相应的数据并不容易。但容器技术的出现缓解了这种不便。

ory/dockertest 是一个 Go 的库,可以调用运行环境的 Docker daemon 来起相应的容器并销毁。官方文档给了好的代码示例。如果你的测试代码正常退出,容器是会被销毁的。如果没有(比如在用 IDE 调试过程中杀掉了进程),需要手工停止运行(容器用 --rm 起的,停止即销毁)。