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

放心kotlin扩展发送一个空的主体

聂昱
2023-03-14

我正在对Kotlin使用rest assured 4.4.0,但此简单测试失败:

Given {
  body("hello")
}
When {
  post("/endpoint/")
} Then {
  statusCode(HttpStatus.SC_CREATED)
}

rest assured未随请求一起发送正文

Request method: POST
Request URI:    http://localhost:52298/endpoint/
Proxy:          <none>
Request params: <none>
Query params:   <none>
Form params:    <none>
Path params:    <none>
Headers:        Accept=*/*
                Content-Type=application/json
Cookies:        <none>
Multiparts:     <none>
Body:           <none>

如果我切换到基于java的API,测试通过:

given()
  .body("hello")
.`when`()
  .post("/endpoint")
.then()
  .assertThat()
  .statusCode(HttpStatus.SC_CREATED) 

我在放心github回购协议中找不到任何与此问题相关的公开问题,我想知道我是否做错了什么。

共有1个答案

隗昀
2023-03-14

格式错误,When块必须与给定的块的右括号在同一行。

错误的

Given {
  body("{\"hello\":\"world\"}")
}
When {
...

对吧

Given {
  body("{\"hello\":\"world\"}")
} When {
...

 类似资料:
  • 主要内容:扩展函数,扩展函数是静态解析的,伴生对象的扩展,扩展的作用域,扩展声明为成员Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 Decorator 模式。 扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响。 扩展函数 扩展函数可以在已有类中添加新的方法,不会对原类做修改,扩展函数定义形式: receiverType:表示函数的接收者,也就是函数扩展的对象 functionName:扩展函数的名称 params:扩展函数的参数,可以为NULL 以下实

  • Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 Decorator 模式。 扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响。 扩展函数 扩展函数可以在已有类中添加新的方法,不会对原类做修改,扩展函数定义形式: fun receiverType.functionName(params){ body } receiverType:表示函数的接收者,也就是函数扩

  • 问题内容: 我已经通过使用ApacheCXF(v3.0.4)实现了JAX-WS客户端,并且一切正常,但是当我想在Java 8(jdk1.8.0_25)中使用安全连接(SSL / TLS)时出现了问题。 我在日志(-Djavax.net.debug = all)中看到以下异常: 经过depeer分析后,我发现问题是由于Java 8不会发送server_name(SNI),而Java 7却发送了ser

  • Szenario:我有两个扩展,它们用一些特定字段扩展了。在TYPO3 9之前,我必须使用以下打字脚本配置对新闻扩展的依赖关系进行配置: 模型扩展了基本扩展的模型: 在TYPO3 10中,在(中断:#87623): 只要您只有一个扩展新闻扩展名的扩展名,它就可以工作多久。如果您有第二个扩展并启用TYPO3缓存,您将得到一个错误,即在第一个扩展中添加的字段在新闻扩展的模板中不可用。奇怪的是,这个问题

  • 下面是预期的请求,它应该命中系统,但在发送它时,数组变成字符串? 为了生成上述内容,我正在创建Array对象并发送请求,但结果是这样的放心请求。 实际 由于上述实际结果,api 将其视为子类的字符串,而不是将其视为数组。但代码希望它是子类的数组。 我正在使用hasmap创建上面的内容。这样地 queryParam将以jsonbody的身份出现。 现在如何按预期发送 json 正文,而不是实际的 j

  • 在一个同时使用静态编程语言和java的Android项目中,我想在一些java文件中使用静态编程语言函数和。 所以我想到了使用扩展。我做了下面的工作, 然而,我曾考虑将分隔符作为参数传递,但在java中尝试使用“删除第二个参数…”时,它给了我一个错误 方法正确吗?能做到吗?