gpt4 book ai didi

java - 如何在完成 TestNG 测试类时将变量值重置为 null

转载 作者:行者123 更新时间:2023-11-29 09:28:03 26 4
gpt4 key购买 nike

我已经创建了一些自动化测试来使用 TestNG 测试 API。

public class EndToEndTest {

private ResponseParser response;
private static String sessionId;
private static float cardCharge;

@BeforeClass
public void setUp() {
baseURI = getUri();
response = new ResponseParser();

@Test
@Parameters({"login", "username", "password"})
public void testOne(){

//send some test data into API using specific test data parameters

sessionId = response.getSessionId();
cardCharge = response.getCardCharge();

//assertion etc...
}

@Test
public void testTwo()
Request req = new Request.RequestBuider()
.withSession(sessionId)
.withCardCharge(cardCharge)
.with....etc...
}

这个测试是一个模板,我有 10 个左右的单独的 testng xml 文件提供单独的测试数据——基本上是 10 个测试。我正在使用 1 个 testng 套件 xml 文件运行 10 个 testng xml 文件。

当一个“测试”完成时,我希望变量 - “sessionId”等...重置为空。通过我运行它们的方式,变量值在 @Tests 之间持续存在(理想),但也在类级别,大概是因为我使用套件运行的方式,它们仍然在范围内并且不符合 GC 的条件。

是否有比简单地将每个重置为 null 更优雅/更强大的解决方案,例如在 @AfterClass 方法中?

@AfterClass
public void tearDown(){

sessionId = null;
.....
}

最佳答案

是的,还有另一种方法可以执行此操作。您可以覆盖 @Test 类并操纵其行为,您可以在其中为每个使用的变量设置默认值。请引用; http://www.javatpoint.com/custom-annotation

关于java - 如何在完成 TestNG 测试类时将变量值重置为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41468198/

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