博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Terratest:一个用于自动化基础设施测试的开源Go库
阅读量:6430 次
发布时间:2019-06-23

本文共 1093 字,大约阅读时间需要 3 分钟。

\

看新闻很累?看技术新闻更累?试试,每天上下班路上听新闻,有趣还有料!

\
\\

Gruntwork了他们的Go框架。该框架可以用于编写测试基础设施的自动化测试。该库内置了对和的支持。

\\

Terratest是由Gruntwork公司内部开发的,其目的是为了维护他们的(IAC)库,这是一个基于Terraform、Python、Go和bash的工具库,用于管理AWS上的基础设施。。

\\

使用Terratest编写测试涉及。测试会创建真实的基础设施组件,如服务器,并在上面部署应用程序,然后使用Terratest工具验证预期行为。在测试结束时,Terratest会取消应用部署,使用Go语言的defer机制资源,类似JUnit的teardown方法。

\\

Terratest可以测试已有的基础设施部署而不是每次从头开始创建吗?该工具的维基百科这样做,因为它可能对环境做不必要的修改。不过,有些团队的基础设施拓扑结构复杂,他们不希望为了执行测试而创建一个全新的设置,对他们而言,这条建议很难接受。一个名为命名空间的特性可以使用唯一标识符隔离资源。注意,这里的命名空间并不是我们通常所理解的通过标签来隔离组件,而是保证资源有唯一标识符,测试时只使用那些由测试框架生成了标识符的资源。

\\

Gruntwork的联合创始人解释了使用Go编写Terratest的原因:

\\
\

Go正成为DevOps世界的通用语言,因此,那似乎是个合理的选择。对于DevOps领域里的这样一个库,在其他语言中,我们只会考虑Python,但是,在Gruntwork,我们在其他地方广泛地使用了Go,所以,继续用它就很容易理解了。

\
\\

在回应Terratest与、等其他工具相比怎么样时,Brikman:

\\
\

大多数规范工具都侧重于检查单个服务器或资源的属性。例如,httpd是否已经安装并运行?Terratest在很大程度上是用于端到端的验收风格的测试,在真实的环境中(如AWS)部署真实的基础设施,并测试该基础设施是否真得符合预期。

\
\\

Terratest了工具,可以执行类似或者获取Git中当前分支的名称这样的任务。面向、和的Terraform模块都有Terratest测试示例。Terratest的其他特性包括针对CI系统的变通方案,这类系统需要短期运行的测试,对于需要长期运行的基础设施测试可能无效。Terratest还提供了像测试预期错误这样的典型测试抽象。为了加速开发过程中的测试,Terratest可以把测试分解成“阶段”,而阶段可以使用环境变量。

\\

查看英文原文

转载地址:http://kdiga.baihongyu.com/

你可能感兴趣的文章
MessageDigest简单介绍
查看>>
webpack window 使用sass来编译css样式
查看>>
D3 & Data Visualization in Ext JS
查看>>
java通过UUID生成16位唯一订单号
查看>>
001-web基本程序搭建
查看>>
函数指针和指针函数
查看>>
Intel 揭秘:如何在公有云、混合云和私有云间合理放置工作负载
查看>>
借力AI 极验如何构建下一代业务安全?
查看>>
用Python制作迷宫GIF
查看>>
支付宝推出基于区块链跨境支付,巨头入场小企业将面临灭顶之灾
查看>>
从事互联网行业,怎样才能快速掌握一门编程语言呢?
查看>>
谈谈fail-fast与fail-safe是什么以及工作机制
查看>>
深入浅出换肤相关技术以及如何实现
查看>>
Redis 基础、高级特性与性能调优
查看>>
React native 第三方组件 React native swiper
查看>>
接口幂等设计
查看>>
编程入门指南
查看>>
移动端的自适应方案—REM
查看>>
你真的懂volatile吗
查看>>
Android 编译时注解-提升
查看>>