如何用MySQL编写Golang集成测试

菲利普

我想编写一个使用MySQL来测试查询的集成测试。在golang中该如何做?

这包含几个问题:

  1. 如何在Golang测试中设置MySQL(内存中)服务器?
  2. 如何在每次测试之前/之后清理/重新创建数据模型,以免它们留下垃圾?
  3. 完成所有测试后如何删除mysql?
乔基姆·隆堡:

如果您确实想拥有嵌入式MySQL,则可以使用golangs C绑定与以下内容集成:https ://dev.mysql.com/doc/refman/5.1/en/libmysqld.html 我还没有看到任何项目将其绑定打包到一个不错的Go包中,那将是一个有趣的小项目。

否则,您可以使用Docker设置一个一次性MySQL服务器,但是这需要一些设置/拆卸步骤,然后才能运行go test。这就是我在工作的地方所做的事情。

在这两种情况下,您都需要编写设置/拆卸方法,以根据测试需要创建和删除表。这些只是普通的SQL语句,DROP DATABASE,CREATE TABLE等。

Testify https://github.com/stretchr/testify具有用于安装/拆卸的工具,但是只需为此编写辅助函数即可。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章