我的问题与此SOF问题基本相同,但处理的@BeforeMethod不是@BeforeClassTestNG.
在确定带@BeforeMethod注释的方法执行的顺序时,测试类继承是否会起作用?如果我有A类并且B类扩展A并且两者都有一个@BeforeMethod方法,则父母的(A)将在孩子的(B)之前运行,或者孩子在父母之前运行,或者命令是否依赖于其他因素如此作为方法名称的字母顺序.我正在尝试查看是否存在我可以依赖的继承顺序,而不必使用注释的参数,例如dependsOnMethods.
如果我有A类并且B类扩展A并且两者都有一个@BeforeMethod方法,那么父母的(A)将在孩子的(B)之前运行[...]
是他们会.
@BeforeMethod方法将以继承顺序运行 - 首先是最高的超类,然后是继承链.@AfterMethod方法以相反的顺序运行(继承链).
但请注意,不保证一个类中多个带注释的方法的顺序(因此最好避免这种情况).
阅读代码,在所有版本的TestNG中似乎都是如此,但它仅在2016年10月记录:
当放置在TestNG类的超类上时,上述注释也将被兑现(继承).例如,这对于在公共超类中集中多个测试类的测试设置很有用.
在这种情况下,TestNG保证"@Before"方法以继承顺序执行(首先是最高超类,然后是继承链),而"@After"方法则按相反的顺序执行(上传继承链).
请参阅GitHub上的documentation-main.html或在线文档.
免责声明:是我编写并将此添加内容提交给文档.
| 归档时间: |
|
| 查看次数: |
5272 次 |
| 最近记录: |