使用放心的多个 GET 请求进行 Java 休息测试

标签 java rest security testing rest-assured

我有一个 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/

相关文章:

java - 模拟服务抛出 nullPointerException

android - 如何调试我的改造 API 调用?

java - 在 Click 上运行 firebase 查询并使用结果更新 RecyclerView

javascript - AngularJS $http.put PUT 方法不发送数据

javascript - 无法从 XML 数据完全填充 HTML 表

c++ - wxWidgets:获取一些唯一的机器 ID 以用于验证/注册

通过服务器请求防止 Android 盗版

php - 如何使用 PHP 验证 Android 应用程序是否正在请求 a.php?

java - Spring Controller 编程风格

java - CDI 与 Jersey 和 Tomcat7 - 拦截器永远不会被调用