如何通过RequestSpecBuilder或RequestSpecification设置有保证的basePath

时间:2014-03-26 10:47:43

标签: rest rest-assured

我知道,我们可以放心地使用RestAssured.basePath = "/resource"全局设置基本路径。

但是我需要在本地为请求规范设置它。任何人都试过这个,没有看到任何API。

2 个答案:

答案 0 :(得分:0)

不支持此功能。请在issue tracker将其添加为问题,并说明您的使用案例。最接近解决方法的可能是设置baseUri。

更新:2.3.2现在支持此功能。

答案 1 :(得分:0)

下面是一个示例,其中展示了如何全局设置基本路径。

import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import com.jayway.restassured.builder.RequestSpecBuilder;
import com.jayway.restassured.http.ContentType;
import com.jayway.restassured.specification.RequestSpecification;
import static com.jayway.restassured.RestAssured.*;

public class RequestSpecificationTest {

RequestSpecification rspec;
RequestSpecBuilder build;

@BeforeClass
public void requestSpec () {

build = new RequestSpecBuilder();
build.setBaseUri ("https://maps.googleapis.com");
build.setBasePath ("maps/api/place/textsearch/json");
build.addParam ("query", "restaurants in mumbai");
build.addParam ("key", "XYZ");

rspec = build.build ();

}

@Test
public void test01 () {

     given()
    .spec (rspec)
    .when ()
    .get ("")
    .then ()
    .contentType (ContentType.JSON)
    .statusCode (200);     
 }

}

您也可以按照相同主题的教程: Using RequestSpecBuilder in Rest Assured ( Code Reuse )