如何使 @AfterTest 始终运行但仅在同一组中?
How to make an @AfterTest alwaysRun but only in the same group?
我想要我的 @AfterTest
运行 即使测试失败 @BeforeClass
。所以我使用参数(alwaysRun = true)
。
但问题是,@AfterTest
运行 甚至在不同的组中。
我的测试代码是这样的
在test1.kt中:
@BeforeClass(groups = ["A"])
fun init() {...}
@Test(groups = ["A"])
fun test() {...}
@AfterTest(groups = ["A"], alwaysRun = true)
fun tesrdown() {...}
在test2.kt中:
@BeforeClass(groups = ["B"])
fun init() {...}
@Test(groups = ["B"])
fun test() {...}
@AfterTest(groups = ["B"], alwaysRun = true)
fun tesrdown() {...}
现在如果我只运行测试group == ["B"]
,A组的@AfterTest
仍然会被执行。
有没有办法让 @AfterTest
只有 运行 而 groups == ["A"]
?
alwaysRun = true
确保每次都执行该方法,这就是为什么 @AfterTest
of group = "A" 在执行 group= "B" 时执行。
您可以从 @AfterTest
中删除 @alwaysRun
选项,只保留 groups = "B"
或 groups= "A"
当您在测试中包括要执行的任何组时 运行 只有 @AfterTest
该组将被执行。
我想要我的 @AfterTest
运行 即使测试失败 @BeforeClass
。所以我使用参数(alwaysRun = true)
。
但问题是,@AfterTest
运行 甚至在不同的组中。
我的测试代码是这样的
在test1.kt中:
@BeforeClass(groups = ["A"])
fun init() {...}
@Test(groups = ["A"])
fun test() {...}
@AfterTest(groups = ["A"], alwaysRun = true)
fun tesrdown() {...}
在test2.kt中:
@BeforeClass(groups = ["B"])
fun init() {...}
@Test(groups = ["B"])
fun test() {...}
@AfterTest(groups = ["B"], alwaysRun = true)
fun tesrdown() {...}
现在如果我只运行测试group == ["B"]
,A组的@AfterTest
仍然会被执行。
有没有办法让 @AfterTest
只有 运行 而 groups == ["A"]
?
alwaysRun = true
确保每次都执行该方法,这就是为什么 @AfterTest
of group = "A" 在执行 group= "B" 时执行。
您可以从 @AfterTest
中删除 @alwaysRun
选项,只保留 groups = "B"
或 groups= "A"
当您在测试中包括要执行的任何组时 运行 只有 @AfterTest
该组将被执行。