我正在使用 Vagrant+Chef Solo 构建的系统上使用 Test Kitchen 运行 Serverspec 集成烟雾测试。当我运行厨房测试时,测试在成功收敛后立即开始,我的一些测试失败,因为系统第一次完全启动需要时间。
所以我想知道在收敛和验证之间插入延迟的好方法是什么,否则保留厨房测试的默认行为?目前我有以下想法:
- 编写一个 shell 脚本来做厨房收敛+检查收敛是否不成功,然后中止+睡眠 xx +厨房验证+如果成功则厨房销毁。但这不允许并行运行多个套件(我正在测试系统的多个版本)。
- 创建一个仅执行sleep xx的配方并将其附加到厨师运行列表的末尾。这似乎可行,但对我来说看起来有点“hacky”。
有谁知道更好的方法?
塔维