gpt4 book ai didi

java - 将测试数据从一个测试用例传递到另一个测试用例

转载 作者:行者123 更新时间:2023-12-02 08:55:39 26 4
gpt4 key购买 nike

我想使用 TestNG 和 RestAssured 测试 API。要测试此 API,需要多次 API 调用。我的第一个 API 调用请求下一个 API 调用所需的数据。

我的代码:

我有一个数据提供程序,可以从 Excel 文件中提取测试信息并将其打包到 Java 对象中。

 @Test(dataProvider = "test1", dataProviderClass = test1.class)
public void test1(Transfer data) {

//basic test case for consent
response =
given().
spec(spec).
body(data).
when().
post("/firstCall").
then().
assertThat().
body("accepted", equalTo("accepted")).
response();
}

现在我有第二个测试用例。此测试用例还应该使用从 Excel 文件获取一些相关信息的数据提供程序。我还必须在 test2 中使用 test1 的答案中的信息。

@Test(dataProvider = "test2", dataProviderClass = test2.class, dependsOnMethods = { "test1" })
public void test2(Transfer data2) {

//use test data of test1 in this test

}

如何在第二个 API 调用中使用第一个 API 调用的结果?或者更好地说我如何将信息从 test1 传递到 test2 的数据提供者?

最佳答案

首先,测试应该是原子,这意味着一个测试不依赖于另一个测试。

现在,在任何需要一些数据的测试中,您应该尝试将数据从测试逻辑中分离出来;例如,创建一个处理数据生成的对象和一个用于设置的对象。

在您的测试套件中,您可以为套件范围创建一个数据对象(在套件运行时创建并可用)或具有静态字段/方法的对象。

在设置中,您可以执行创建测试数据的操作,例如可以:从保存的类获取数据,否则生成新数据并请求将其添加到应用程序中。

getSomeData() -> 返回本地保存在类中的数据(如果可用),否则在应用程序中生成和创建数据

因此,在您的特定情况下,您可以将数据保存在类测试范围之外的类中,并在设置类中创建一个方法来检查是否可用,否则调用一个方法来创建它。

关于java - 将测试数据从一个测试用例传递到另一个测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60504834/

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