在自动化测试中使用Docker

网友投稿 835 2022-10-27

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

在自动化测试中使用Docker

在自动化测试中使用Docker

在构建自动化测试实验台时,使用Docker会非常方便。它在功能性的级别上添加了一些单元测试的特性。如果你的应用由集群中的几个服务器组件构成,你可以用一些容器来模拟整个集群。Docker为集群提供了虚拟网络,在网络层面上让集群中的容器交互。

Docker可以很容易将容器恢复到一个已知的状态。如果你在Docker容器中运行测试数据库,你可以很轻松地将数据库恢复到测试开发之前的相同状态。这和单元测试中After方法恢复环境类似。

持续集成服务器Jenkins已经支持启动和停止容器,在使用Docker做自动化测试时会比较有用。

使用Docker Compose来运行你需要的容器也是一个有用的选择。

Docker还很年轻,使用Docker做测试自动化有时候需要编写并不优雅的胶水代码(glue code)。

举个简单的例子,启动可以交互的一个数据库容器和一个应用服务器容器。启动容器的基本过程比较简单,并且可以通过shell脚本或者Docker Compose来完成。但是,由于我们要在已经启动的应用服务器上运行测试,如何才能知道它已经正常启动了?在WildFly容器的场景下,除了监控输出日志中特定字符串的出现或者轮询web socket之外,没有什么明显方式判断容器的运行状态。在任何情况下,这些hack的方式都不甚优雅,而且实现起来比较耗时。尽管最终的结果还是能值回票价的。

上一篇:Arquillian是一个测试工具的例子
下一篇:自动化集成测试
相关文章

 发表评论

暂时没有评论,来抢沙发吧~