gpt4 book ai didi

java - 如何使这个删除测试独立?

转载 作者:行者123 更新时间:2023-12-02 01:28:15 28 4
gpt4 key购买 nike

我想检查 DELETE 响应。那么我应该在这个测试中让员工还是应该在不同的地方(例如在方法之前)?

      @Test(description="positive")
public static void deleteEmployeeEducation()
Response res= given().
spec(Specifications.getRequestSpecAsEmpl()).
body(Payloads.addEmployeeEducation("GGGG","ingieneer",2005,2010)).
when().
put(Endpoints.createEmployeeEducation()).
then().log().all().extract().response();
JsonPath js= ReusableMethods.rawToJson(res);
Integer educationId=js.get("[0].id");

given().
spec(Specifications.getRequestSpecAsEmpl()).
delete(Endpoints.deleteEmployeeEducation()+educationId).
then().log().all().
assertThat().statusCode(204);

最佳答案

如果您希望删除测试是独立的,那么是的,首先在此测试中创建用户,然后断言删除它有效是有意义的。逻辑前提是事先已成功测试插入测试。

但是,我不一定建议您寻求使此删除测试独立。通常,在这种情况下,您要测试 API 提供的 CRUD 操作,因此按逻辑顺序进行集成测试是有意义的。如果您的 API 公开插入、选择、删除、更新操作,那么集成测试可能是按以下顺序进行的测试序列:

  • 测试插入工作,用户 123

  • 测试选择是否有效并返回用户 123

  • 测试更新有效,并将用户 123 更新为用户 234。可能在此测试中添加一个选择断言,并断言选择返回用户 234

  • 测试删除是否有效。可能添加一个选择断言,断言没有返回用户。

如果我正确地理解您只是在测试不同的 CRUD 操作,那么这将是我对您的测试类设计的建议。

@Before 方法应用于设置测试的先决条件。如果您的所有测试都与同一员工相关,那么在这里创建您的员工是有意义的。否则,我会推荐我的集成测试方法。

请告诉我这是否有帮助。

关于java - 如何使这个删除测试独立?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57569351/

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