如何在同一个项目中初始化多个 RestAssured url 而不会相互覆盖?

How to initialize multiple RestAssured url in the same project without overriding each other?

我在同一个项目中有多个模块需要与完全 2 个不同的 REST API 系统进行通信。我想对两者都使用 Rest Assured。我在这里面临的问题是,如果我使用设置 baseuri (RestAssured.baseURI) 的代码,它将覆盖以前的 baseURI。我试图搜索人们如何处理这种情况。对于单个 uri,我在下面使用:

RestAssured.baseURI = properties.getProperty("baseURI");

使用 RestAssured 的静态导入,但如果我有两个,它会覆盖第一个。有什么建议吗? 我不想使用 requestspecbuilder 本身来执行以下操作:

RequestSpecBuilder requestSpecBuilder = new RequestSpecBuilder();
        requestSpecBuilder.setAccept(ContentType.JSON);
        requestSpecBuilder.setContentType(ContentType.JSON);
        requestSpecBuilder.baseUri = url; 

因为我每次创建新的 specbuilder 时都需要这样做。

我正在使用 Rest Assured 2.4.1。提前感谢您的帮助。

您应该按照第二个示例中的说明创建 RequestSpecification:

RequestSpecification spec = new RequestSpecBuilder().setBaseUri(url).build();
given().spec(spec). ..

然后 spec 可以在使用相同基本 uri 的所有测试中重复使用。