TestNG的Group标签导致的@BeforeTest方法无效

TestNG 的 @BeforeMethodAnnotation Type,其作用是标明所注解的方法在每一个测试方法运行之前会执行一次。例如

@BeforeMethod
void FuncBefore()
@Test
void TestCase1()
@Test
void TestCase2()

执行的顺序为

FuncBefore
TestCase1
FuncBefore
TestCase2

但是,在将TestCase放入某一个Group之后,@BeforeMethod失效了:

@BeforeMethod
void FuncBefore()
@Test(groups = "GroupA")
void TestCase1()
@Test(groups = "GroupA")
void TestCase2()

当我们执行GroupA的测试脚本时,执行顺序为

TestCase1
TestCase2

原因:@BeforeMethod或@BeforeTest未被包含进GroupA中,因此运行GroupA时无法执行,看似“失效”了。当未指定Group时,@Test同时被视作处于一个“全局group”,因此会执行。
解决方法:
1、将@BeforeMethod同样加入GroupA
2、设置@BeforeMethod的属性alwaysRun=true:

@BeforeMethod(alwaysRun = true)
void FuncBefore()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 感谢原作者的奉献,原作者博客地址:http://blog.csdn.net/zhu_ai_xin_520/arti...
    狼孩阅读 14,283评论 1 35
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,400评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,316评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,961评论 25 709
  • 加油,必胜是小惠初入职场第一个加入的团队,因为团队也是刚刚起步,所以人数不多,就十来个员工和一个领导,一个经理。 ...
    花非物欲阅读 1,420评论 0 2

友情链接更多精彩内容