测试容器

时间:2017-12-18 10:04:09

标签: unit-testing testing automated-tests integration-testing testcontainers

最近我们遇到了一些测试容器的启动时间问题: 慢速计算机无法用硬编码的30秒启动容器。

通过将所有检查移动到具有可配置超时的WaitStrategy来解决问题。

有没有理由保留两张支票? 应该在StartupCheckStrategy和WaitStrategy中检查什么?

1 个答案:

答案 0 :(得分:3)

对不起,这有点令人困惑!

StartupCheckStrategy用于检查Docker是否设法启动容器。有几种不同的变化,但基本上只是'容器达到RUNNING状态?'。

仅仅因为容器正在运行,并不意味着它实际上准备好做任何有用的事情(例如接受连接或工作) - 这就是WaitStrategy的用途。默认的等待检查只是探测以确保TCP端口正在侦听,但您可以使用更复杂的检查来覆盖这些,例如尝试通过驱动程序建立连接或查找日志字符串。

听起来你通过将支票移到WaitStrategy实施来做对了。再次抱歉,这令人困惑;我们显然需要对文档做一些工作,以使其更容易理解和更一致。