gpt4 book ai didi

java - @BeforeGroups 方法忽略 dependsOnGroups

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:58:05 25 4
gpt4 key购买 nike

我有一个类(class),有几个测试分为两组。我想要对分组测试运行的时间进行严格排序,以便首先运行 A 组中的测试,然后执行 B 组的设置方法,然后运行 ​​B 组。例如:

@Test(groups="A")
public void a1() {
// ...
}

@Test(groups="A")
public void a2() {
// ...
}

@BeforeGroups(value="B", dependsOnGroups="A")
public void setupB() {
// ...
}

@Test(groups="B")
public void b1() {
// ...
}

@Test(groups="B")
public void b2() {
// ...
}

我遇到的问题是 TestNG 似乎不支持 setupB 方法。而不是预期的执行顺序:
a1/a2
a2/a1
设置B
b1/b2
b2/b1

它执行这样的事情:
a1
设置B
b1
a2
b2

知道我在这个设置中做错了什么吗?我是否在概念上遗漏了一些关于 TestNG 的组如何工作的内容?

最佳答案

也尝试为测试方法指定 dependsOnGroups

public class TestClass {

@Test(groups="B")
public void b1() {
System.out.println("b1");
}

@Test(groups="B")
public void b2() {
System.out.println("b2");
}

@Test(groups="A", dependsOnGroups="B")
public void a1() {
System.out.println("a1");
}

@Test(groups="A", dependsOnGroups="B")
public void a2() {
System.out.println("a2");
}

@BeforeGroups(value="A", dependsOnGroups="B")
public void setupA() {
System.out.println("before");
}
}

我可能错了,但似乎如果一个属于一个组的测试方法被选中执行并且它不依赖于任何组或方法,它只会导致 @BeforeGroups - 要运行的注释方法(忽略那里指定的 dependsOnGroups)。请注意,如果没有明确声明,TestNG 不保证执行顺序,例如使用“依赖”或“优先”机制。

希望 Cedric Beust 能访问这个问题。

关于java - @BeforeGroups 方法忽略 dependsOnGroups,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31929690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com