java - rest-assured : Cannot get property 'assertionClosure' on null object调用get时出现空指针异常

标签 java rest groovy rest-assured

我正在尝试使用 rest-assured 为 RESTful API 实现测试,但在尝试调用 get 操作时遇到空指针异常。授权是自定义方案,因此一旦我获得请求的授权签名,我将其作为 header 附加到请求中:

    String auth = ...CUSTOM ALGORITHM ...;
    String pragma = ... OTHER CUSTOM HEADER ...;

    RequestSpecification requestSpec = new RequestSpecBuilder()
       .addHeader("Authorization", auth)
       .addHeader("pragma", pragma)
       .build();

    RestAssured.baseURI = "https://blahblah.staging.somewhere.net";
    RestAssured.port = 443;
    RestAssured.basePath = "/endpoint_name/somefolder/resource?status=active";
    RestAssured.urlEncodingEnabled = false;

    requestSpec.get();

这会导致以下错误:

java.lang.NullPointerException: 无法获取 null 对象的属性 'assertionClosure'

最佳答案

尝试使用 RestAssured.given() 调用您的 GET。您可以通过执行以下操作来使用您的 requestSpec:

RestAssured.given()
.spec(requestSpec)
.log().all()
.get()
.then()
.log().all()
.statusCode(200);

关于java - rest-assured : Cannot get property 'assertionClosure' on null object调用get时出现空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23635957/

相关文章:

groovy - 如何为 Spock 中的所有可继承类只执行一次 setupSpec()

unit-testing - 什么时候 Spock 的 @Shared 注释应该比静态字段更受欢迎?

java - 如何用最大允许出现次数替换连续多次出现的字符?

java - mkdir() 没有创建新目录

java - 验证 REST API 中的查询参数

mysql - 用 MySQL 替换 hsqldb

java - 内存不足 : metaspace with wildfly and groovy/jasper

java - 如何从 Gradle 中的 JAR 中排除资源并通过 IntelliJ 运行

java - JFreeChart 在 Y 轴上将整数值显示为 float

node.js - 在 mongoose 中使用 UUID 进行 ObjectID 引用