我在同一个项目中有多个模块,需要与两个不同的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。感谢您的帮助。
答案 0 :(得分:11)
您应该在第二个示例中指明创建一个RequestSpecification:
RequestSpecification spec = new RequestSpecBuilder().setBaseUri(url).build();
given().spec(spec). ..
然后spec
可以在使用相同基础uri的所有测试中重复使用。