首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

说实话:没用testng之前,从未想过自动化用例管理如此优雅

说实话:没用testng之前,从未想过自动化用例管理如此优雅

testng.xml

1、带包和不带包

2、指定包不指定类

在上述案例中,TestNG将查看包test.sample中的所有类,并将仅执行具有TestNG批注的类。

3、指定要包括和排除的组和方法

在上述案例中,在@Test中配置了groups="checkinTests",则会执行,没有配置或配置groups="brokenTests"则不会执行。

在IndividualMethodsTest类中只有testMethod才会执行。

4、打乱执行顺序

默认情况下,TestNG将按照在XML文件中找到的顺序运行测试。

如果要以不可预测的顺序运行此文件中列出的类和方法,请将preserve-order属性设置为false。

测试类、测试方法、测试组

1、执行带返回值的方法

默认情况下,使用@Test的方法如果有返回值,则会直接忽略,使用allow-return-values="true"之后则可以执行。

2、Test groups

TestNG允许您对测试方法进行复杂的分组。

不仅可以声明方法属于组,还可以指定包含其他组的组。

然后可以调用TestNG并要求它包括一组特定的组(或正则表达式),而排除另一组。

如果要连续运行两组不同的测试,这将为您提供最大的灵活性来划分测试方式,并且不需要重新编译任何内容。

3、组合用法

上述案例中,testMethod1、testMethod2、testMethod3都会执行,当则只有testMethod1、testMethod2会执行。

4、正则表达式用法

上述案例,只有groups=windows开头的方法才会执行。

5、方法包含和排除

上述案例中,如果是单独匹配方法名,如果方法名中包含enabledTestMethod那么方法就会执行,如果方法中包含brokenTestMethod则不会执行。

不推荐使用这种方式,因为这样会改造你的方法名。

6、组的嵌套定义

上述案例中,all包含checkintest、function,function包含window、linux,最终运行all。

只要方法上使用all或者all包含的组都会执行。

7、同时拥有include和exclude

上述案例中,testMethod2方法上既有include的checkintest又有exclude的broken,那么这个方法将不会执行,使用这种方式可以让我们非常方便的暂时停用某些方法,而不会影响原来的配置。

当你想继续使用这些方式时,只需要去掉broken即可。

8、在类上使用分组

上述案例中,method1、method2方法都属于checkin-test组,method1同时也属于func-test组。

当运行checkin-test组时method1和method2都会运行,当允许func-test组时只会运行method1。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191216A0REKO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券