作家
登录

五分钟教程:如何在Docker当中运行平行测试

作者: 来源: 2017-06-09 10:02:58 阅读 我要评论

【51CTO.com快译】 如不雅想在Docker中运行平行测试,你可能会引起容器名冲突的缺点,下面我们来谈谈若何避免这种缺点。当你在CI情况下运行测试时,有时刻要运行平行测试。这种平行法度榜样须要应用编译对象,如詹金斯、Gradle或者Maven插件。

如不雅你在应用Docker作为应用法度榜样的外部测试对象(例如数据库、邮件办事器、FTP办事器),你会发明一个大年夜问题,就是在运行平行测试时,在Docker主机里,所有文件会新建一个雷同定名的容器,以至于在你开端第二个平行测试时,你会获得一个关于冲突的容器名掉败,因为Docker主机试图启动两个雷同定名的容器,或者这两个容器具有雷同的绑定端口。


针对这个问题,你可以如许解决:

·你可以用一个Docker主机分别给每个文件做平行测试。
·你可以反复应用雷同的Docker主机并且应用Arquillian Cube Star运算器。


Arquillian Cube是Arquillian的一个扩大,可以用来在你的测试中治理Docker容器。应用Arquillian Cube,你须要在计算机上运行一个Docker保护(可所以本地的或者不是),但大年夜多半是本地的。

Arquillian Cube供给了三种不合的办法来定义容器:
·定义一个容器构成文件
·定义一个容器对象
·应用容器对象DSL


鄙人面的事例中,我将向您展示若何应用Docker构成和容器对象DSL。Star运算器可以让你指导Arquillian Cube随机定名Cube,并且可声调剂链接。如许一来,在履行平行测试时,就不会因为名称或者绑定端口产生冲突了。

我们来看一个例子:


  •     id "io.spring.dependency-management" version "1.0.2.RELEASE" 
  •  
  •  
  • apply plugin: 'java' 
  •  
  • repositories { 
  •     mavenCentral() 
  •     jcenter()  
  •  
  • dependencyManagement { 
  •     imports { 
  •         mavenBom 'org.jboss.arquillian:arquillian-bom:1.1.13.Final'  
  •     } 
    原文作者:Alex Soto
  •  
  • dependencies { 
  •  
  •     testCompile 'junit:junit:4.12' 
  •     testCompile 'org.jboss.arquillian.junit:arquillian-junit-standalone' 
  •  
  • test { 
  •     maxParallelForks = 2 
  •     testLogging.showStandardStreams = true 
    1. @RunWith(Arquillian.class) 
    2. public class TestOne { 
    3.  
    4.     @HostPort(containerName = 
       1/4    1 2 3 4 下一页 尾页

        推荐阅读

        如何处理仍未解决的MongoDB安全问题?

      有关MongoDB尚未解决的安然隐患是什么?在补丁可用之前,企业可以采取哪些办法以缓解这些威逼?在我看来,默认情况下所有软件都应当被锁定,且应当仅在须要时启用某些功能。如不雅应用法度榜>>>详细阅读


      本文标题:五分钟教程:如何在Docker当中运行平行测试

      地址:http://www.17bianji.com/lsqh/35664.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)