当前位置: 首页 > 知识库问答 >
问题:

RestAssured不能传递空/空路径参数

索令
2023-03-14

在使用RestAssured的cucumber api测试中,我试图将路径参数作为空/空传递。

例如,当我以>>http://localhost:8093/my-rest-call//指令调用endpoint时

(http://localhost:8093/my-rest-call/{myId}/instructions)

它给404但我希望是500。在《邮递员》中,它和预期的一样工作

但是,如果末尾的path参数为null/empty。如下所示,我得到了500个内部服务器错误。

e.g http://localhost:8093/my-rest-call/instructions/{path param}

我尝试的其他选项是have“”(带空格的双引号)。但在这种情况下,restAssured将空格添加到特殊字符中。(%20)

例如http://localhost:8093/my-rest-call/%20/instructions

我正在RestAssured中使用以下代码

公共静态响应

se request(Function<RequestSpecification, Response> method, RequestSpecification spec) {
        RequestSpecification call = rest()
            .spec(spec)
            .log().all().when();
        return method.apply(call)
            .then()
            .log().all()
            .extract().response();
    }

我可以在RequestSpecification下的NamedPathParameters中看到路径参数为“”(即myId=“”),在method下看到url为my-rest-call/{myId}/instructions

我看了看下面

谈话也是

对话-1

我正在使用io.resest-assured:resest-assured:3.3.0

共有1个答案

上官鸿晖
2023-03-14

您还没有发布放心所以我不知道您是如何测试的

然而,以下方法应该起作用

given().log().all().pathParam("trial", "").when().get("http://soapractice.mocklab.io/thing/{trial}/def").then().statusCode(200); 
 类似资料:
  • 假设我有一个需求完全相同的测试场景,但有一个路径变量更改,如下所示: 方案:某些方案

  • 在jstl中,我们可以声明一个空值的变量,如下所示- 现在假设我有一个名为其中我有一个布尔属性 很明显,类型是对象布尔型的,所以我应该能够传递null。 但是当我给标签传递一个空值时- 它会自动将空转换为假! 有没有什么方法可以在这里将null传递给布尔属性?

  • 首先,在测试用户何时登录或完全注册时,没有异常或错误,但当用户注销并重新打开应用程序时,应用程序崩溃。logcat基本上指出了这个错误: 但是如果我把currentUserID改为Users。。应用程序停止崩溃,运行平稳,但不会加载导航抽屉中的用户名和个人资料图像。 主要活动。JAVA

  • 试图从CSV传递GET方法的动态路径参数。 参考空手道:如何传递动态路径参数? 我们试图在路径中从CSV文件传递动态参数,但是当方法是GET时它不能很好地工作,尽管对于POST我们使用CSV没有问题。

  • 问题内容: 我在github上遇到了这个文件,它是这样做的: 那是什么意思?当我尝试相同时,我得到: 问题答案: 它需要父文件夹的文件,这是一个:https : //github.com/visionmedia/node- migrate/blob/master/index.js

  • router配置 点击进去页面时 这样点击后页面会出现但是刷新或者跳转别的路由会报错 刷新报错: 跳转其他路由报错: 如何解决?