【发布时间】:2018-05-15 16:42:28
【问题描述】:
我正在编写一个简单的食谱,用于将 SSL 代理部署到服务器上。这本说明书最终将被其他部署 Web 服务的说明书使用,以便在它们前面设置 SSL 代理,但出于测试代理说明书本身的目的,它背后没有这样的服务。我对这本食谱的基本测试策略如下:
- 将盒子与测试厨房融合
- 将 ServerSpec(或可能的 Bats)与 test-kitchen 一起使用
- 通过在代理配置为转发到的端口上列出的框中启动 python SimpleHTTPServer 来设置测试,并在 index.html 文件中创建以供其服务。
- 断言当我点击https://localhost 时,我得到了 SimpleHTTPServer 正在服务的文件。
- 断言更多关于代理的事情(所有这些都要求它背后有一个服务。)
- 拆解。不需要拆掉任何东西,只要让 test-kitchen 毁掉盒子就行了。
所以我的问题是,使用 test-kitchen 和 ServerSpec 和/或 bats 设置这些测试先决条件的正确方法是什么?
【问题讨论】:
-
所以我发现 Bats 支持设置和拆卸方法,因为它不是特定于厨师的。但是 bats 对于跨平台测试有点受限。仍在寻找是否有办法在 ServerSpec 中获得此功能。
标签: chef-infra test-kitchen serverspec