作者:Deepthi Sigireddi。嘉宾博客文章最初在PlanetScale的博客发表。
https://www.planetscale.com/blog/planetscale-migrates-open-source-vitess-test-suite-from-python-to-go
在过去的三个季度中,PlanetScale的团队专注于使开源Vitess易于使用和易于贡献的双重目标。这项工作的一部分是迁移所有用Python编写的集成测试到Go。
这个项目有几个原因:
这是一个相当庞大的项目,需要几个人工作近四个月。该项目于2019年11月1日左右开工,2020年2月25日竣工。在39个必须迁移的文件中有197个单独的集成测试。在LOC方面,有超过24000行Python代码。
为了完成迁移,我们首先在Go中构建了一个测试框架(使用命令和测试包),它允许我们启动一个Vitess集群,并以编程方式与之交互。该框架必须支持在没有端口冲突的情况下并行运行多个测试;为所有相关流程创建不冲突的工作目录;记录足够的信息,以进行故障诊断等。一旦完成,就需要将Python测试转换为等效的Go代码。
在这个过程中,我们也能够改善Vitess的CI流水线。虽然Travis CI多年来一直为我们服务,但我们看到了转向GitHub Actions的机会。优势吗?
项目的最终结果是,现在开发新的集成测试更加容易和快速。对于项目的新手来说,这也更容易开始。CI变化使我们能够更快地对拉请求进行反馈,并提高拉请求的吞吐量。
点击【阅读原文】阅读英文原文。
CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux Foundation,是非营利性组织。
CNCF(云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。请长按以下二维码进行关注