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

时间:2015-05-24 17:38:46

标签: rest-assured

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:11)

您应该在第二个示例中指明创建一个RequestSpecification:

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

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