17、基础设施自动化测试全解析

基础设施自动化测试全解析

1. 测试类型选择与反模式

在基础设施代码库的测试中,并没有固定的公式来确定应该使用哪种类型的测试。最佳的做法是从相对简单的测试开始,然后在有明确需求时引入新的测试层次和类型。

1.1 反模式:反射性测试

低级基础设施测试的一个陷阱是编写仅仅重复配置定义的测试。例如,以下是一个 Chef 代码片段,用于创建配置文件:

file '/etc/our_app.yml'
  owner ourapp
  group ourapp
end

对应的 Chefspec 单元测试示例如下:

describe 'creating the configuration file for our_app' do
  # ...
  it 'gives the file the right attributes' do
    expect(chef_run).to create_template('/etc/our_app.yml').with(
      user:   'ourapp',
      group:  'ourapp'
    )
  end
end

这个测试只是重复了定义,实际上是在测试 Chef 开发者是否正确实现了文件资源,而不是我们编写的代码。如果习惯编写这类测试,会产生大量此类测试,并且会浪费大量精力对每个配置进行两次编辑,一次用于定义,一次用于测试。

一般来说,当逻辑存在一定复杂性需要验证时才

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值