我有一个 Spring-boot 应用程序,它是我的 AngularJS 应用程序的 REST 服务。 我正在尝试为其编写一些单元测试,这是其中之一的示例代码。
given().
auth().basic(USER_LOGIN, "X").
get("http://myservice/login").
then().assertThat().statusCode(HttpStatus.UNAUTHORIZED.value());
given().
auth().basic(USER_LOGIN, PASSWORD).
get("http://myservice/login").
then().assertThat().statusCode(HttpStatus.OK.value());
问题是我的第二个断言没有通过。但是当我试图交换他们的位置时,具有 UNAUTHORIZED 状态的断言没有通过。如果我将尝试使用 SoapUI 重现此测试用例,它将正常工作,两个断言都已完成。可能,它以某种方式缓存了请求的结果?
附注我使用的安全提供程序是 Spring security。
最佳答案
您可以重置为标准 baseURI(本地主机)、basePath(空)、标准端口(8080)、默认身份验证方案(无)和默认根路径(空字符串)使用: RestAssured.reset();
https://rest-assured.googlecode.com/svn/tags/1.2.3/apidocs/index.html?com/jayway/restassured/RestAssured.html - 在文档中搜索重置方法。
关于使用放心的多个 GET 请求进行 Java 休息测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33169240/