持续集成:TestNG中case之间的关系

 

poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标。如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200。

我们写培训单元测试,写case代码的时候,可能会遇到一条case依赖另外一条case,比如我现在用一个xml文件生成html文件,但是这个xml文件就是另外一条case生成的。所以我们需要定义一种依赖就是生成html的case要在生成xml文件的case之后生成,看看有什么解决的方法

dependsOnGroups

生成xml的单测case如下:

@Test(groups = { "unittest","androidtestresult" })

public void generateAndroidXmlTestResult()

生成html的单测case如下:

@Test(groups = { "unittest" }, dependsOnGroups = { "androidtestresult" })

public void generatorAndroidReportByMuiltDirTest()

在需要依赖的case上定义了dependsOnGroups属性,里面就是被依赖case所在的组,这样当该case执行的时候,被依赖组中的case都会被执行。而我只是给groups定义为androidtestresult,所以androidtestresult组中只有一条case为generateAndroidXmlTestResult,所以只会执行这条case。

执行结果:

[TestNG] Running:

/private/var/folders/3j/s3hfvmy572vcn3h02c_rxcbm0000gn/T/testng-eclipse-774643464/testng-customsuite.xml

2015-07-31 12:21:10 INFO  TestResult:156 - Created testResult.xml  file at file:///Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/result/android/MI_2G_dksldfdffdf_4.4.2_201507210823923/testResult.xml

2015-07-31 12:21:10 INFO  TestResult:93 - TestResult [rootDir=/Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/result/android/MI_2G_dksldfdffdf_4.4.2_201507210823923, loops={case3=com.wuba.result.TestCaseLoop@3c6210fb, case1=com.wuba.result.TestCaseLoop@4a48edb5, case2=com.wuba.result.TestCaseLoop@79ee2c2c}, device=MI, network=2G, sn=dksldfdffdf, version=4.4.2]

2015-07-31 12:21:10 INFO  XmlReportGenerator:108 - Read testResult.xml finished

2015-07-31 12:21:10 INFO  XmlReportGenerator:109 - TestResult [rootDir=/Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/result/android/MI_2G_dksldfdffdf_4.4.2_201507210823923, loops={case3=com.wuba.result.TestCaseLoop@661736e, case1=com.wuba.result.TestCaseLoop@67e13e07, case2=com.wuba.result.TestCaseLoop@74af72d8}, device=MI, network=2G, sn=dksldfdffdf, version=4.4.2]

2015-07-31 12:21:10 INFO  XmlReportGenerator:108 - Read testResult.xml finished

2015-07-31 12:21:10 INFO  XmlReportGenerator:109 - TestResult [rootDir=/Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/result/android/MI_3G_dksldfdffdf_4.4.2_20150721082392, loops={case4=com.wuba.result.TestCaseLoop@4b1c2b67, case5=com.wuba.result.TestCaseLoop@26659db7, case6=com.wuba.result.TestCaseLoop@59556d12}, device=MI, network=3G, sn=dksldfdffdf, version=4.4.2]

2015-07-31 12:21:10 INFO  XmlReportGenerator:108 - Read testResult.xml finished

2015-07-31 12:21:10 INFO  XmlReportGenerator:109 - TestResult [rootDir=/Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/result/android/MI_4G_dksldfdffdf_4.4.2_20150721082392, loops={case7=com.wuba.result.TestCaseLoop@1a0fced4, case8=com.wuba.result.TestCaseLoop@3d3cdaa, case9=com.wuba.result.TestCaseLoop@466355dc}, device=HW, network=4G, sn=1232324343, version=4.4.2]

2015-07-31 12:21:10 INFO  XmlReportGenerator:108 - Read testResult.xml finished

2015-07-31 12:21:10 INFO  XmlReportGenerator:109 - TestResult [rootDir=/Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/result/android/HW_4G_12323242_4.4.2_20150721082392, loops={case7=com.wuba.result.TestCaseLoop@5421e554, case8=com.wuba.result.TestCaseLoop@7d5718f2, case9=com.wuba.result.TestCaseLoop@6126f827}, device=MI, network=4G, sn=dksldfdffdf, version=4.4.2]

2015-07-31 12:21:10 INFO  TestReport:78 - Created file at file:///Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/report/2015-07-31_12-21-10/testReport.xml

2015-07-31 12:21:10 INFO  HtmlReportGenerator:95 - Created report html file at file:///Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/report/2015-07-31_12-21-10/testReport.html

PASSED: generateAndroidXmlTestResult

PASSED: generatorAndroidReportByMuiltDirTest

===============================================

Default test

Tests run: 2, Failures: 0, Skips: 0

===============================================

===============================================

Default suite

Total tests run: 2, Failures: 0, Skips: 0

===============================================

[TestNG] Time taken by org.testng.reporters.jq.Main@fcfa52: 31 ms

[TestNG] Time taken by org.testng.reporters.XMLReporter@388ee016: 7 ms

[TestNG] Time taken by org.testng.reporters.EmailableReporter2@351563ff: 3 ms

[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 0 ms

[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@220ca470: 9 ms

[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@47d62270: 5 ms

持续集成:TestNG中case之间的关系的更多相关文章

  1. 探讨PostgreSQL实例中数据库之间的关系

    疑问 前几天PG学习微信群有人在问"pg_class 存储了对象和命名空间,表空间的对应关系,为什么没有和数据库的关系?我想查数据库下面有多少对象,找不到数据库和对象的关系?" 简 ...

  2. 使用beanstalkd实现定制化持续集成过程中pipeline

    持续集成是一种项目管理和流程模型,依赖于团队中各个角色的配合.各个角色的意识和配合不是一朝一夕能练就的,我们的工作只是提供一种方案和能力,这就是持续集成能力的服务化.而在做持续集成能力服务化的过程中, ...

  3. Spring基础——在 IOC 容器中 Bean 之间的关系

    一.在 Spring IOC 容器中 Bean 之间存在继承和依赖关系. 需要注意的是,这个继承和依赖指的是 bean 的配置之间的关系,而不是指实际意义上类与类之间的继承与依赖,它们不是一个概念. ...

  4. CSS系列:CSS中盒子之间的关系

    1. 标准文档流 标准文档流是值在不使用其他的雨排列和定位相关的特殊CSS规则时,各种元素的排列规则. 1.1 块级元素(block level) 块级元素不会排在同一行中,总是以一个块的形式表现出来 ...

  5. 通过jenkins持续集成 github中的代码到 服务器。

    前言 最近自己在探索springboot框架,了解到 jenkins 具有 自动我github 上带项目部署到 tomcat 中.于是决定先搭建一个jenkins 环境在继续研究. Jenkins简介 ...

  6. CCNet持续集成编译中SVN问题解决

    SVN问题 BUILD EXCEPTION Error Message: ThoughtWorks.CruiseControl.Core.CruiseControlException: Source ...

  7. 在TFS持续集成(持续发布)中执行Telnet任务

    Telnet是一种在因特网或局域网上使用虚拟终端连接,提供双向交互式文本通信设备的协议. 它是最早的互联网通讯协议之一.自1969年启用以来,已经经过了将近50年时间,在开放式的操作系统中拥有广泛的用 ...

  8. (转载)持续集成(第二版)[来自:Martin Fowler]

    转载自:iTech的博客 持续集成(第二版) 作者:Martin Fowler 译者:雷镇 持续集成 是一种软件开发实践.在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以 ...

  9. MCI:移动持续集成在大众点评的实践

    一.背景 美团是全球最大的互联网+生活服务平台,为3.2亿活跃用户和500多万的优质商户提供一个连接线上与线下的电子商务服务.秉承“帮大家吃得更好,生活更好”的使命,我们的业务覆盖了超过200个品类和 ...

随机推荐

  1. 运行gpg --gen-key生成key时出现卡住的问题

    背景 在搭建Ubuntu16.04的本地apt源时,需要运行"gpg --gen-key"命令,但是在执行该命令时,出现了:"Not enough random byte ...

  2. Scala入门 【1】

    Scala入门 [1] 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 基础 val定义的为常量,var为变量 val name:Type = ***,变量名后加冒号 ...

  3. 用Tcl/Tk脚本计算圆周率

      读了阮一峰的蒙特卡罗方法入门,用概率统计的方式求解棘手的数学问题还挺有意思的,尤其是利用正方形和它的内切圆之间的面积关系来建模求解圆周率的方法精巧又简单,比投针实验好理解也好实现多了.建模可不是M ...

  4. MRC、ARC内存管理机制

    MRC下,oc内存管理遵循"谁创建.谁释放.谁引用.谁管理"的机制,当创建或引用一个对象时,需要向她发送alloc,copy,retain消息,当释放该对象时需要发送release ...

  5. MongoDB分布式

    结构: ShardServer1:27020 ShardServer2:27021 ShardServer3:27022 ShardServer4:27023 ConfigServer:27100 R ...

  6. 前端数据统计用做Bootstrap的一些柱状图、饼状图和折线图案例

    Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷. Bootstrap ...

  7. DbUtils类基本使用

    一.commons-dbutils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化 ...

  8. C#基础——类

    第一部分:String类 系统内置的处理字符串类型的函数方法类.方便我们对字符串类型进行一系列的处理. +++++String类+++++黑色小扳手 - 属性紫色立方体 - 方法 1.***字符串.L ...

  9. DOM基础(四)

    每次写DOM的时候,就觉得好像没什么好写,因为涉及到知识点的方面的确不多,对于DOM来说,更多的还是练习为主.在练习的时候,最好能结合着js基础语法的知识点来学习.这样,在学习DOM的时候就不会那么枯 ...

  10. 【2-24】for循环嵌套,跳转语句,异常语句,穷举法、迭代法

    For循环嵌套与if嵌套相似,是在for中再套for,其结构如下: For(;;) { For(;;){} }经典题型为打印星星例: Console.Write("请输入一个奇数:" ...