Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
dc0ebefc
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
dc0ebefc
编写于
11月 22, 2019
作者:
S
Sébastien Deleuze
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add support for asyncDispatch to MockMvc Kotlin DSL
Closes gh-23758
上级
712eac29
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
30 addition
and
2 deletion
+30
-2
spring-test/src/main/kotlin/org/springframework/test/web/servlet/MockHttpServletRequestDsl.kt
...ngframework/test/web/servlet/MockHttpServletRequestDsl.kt
+1
-1
spring-test/src/main/kotlin/org/springframework/test/web/servlet/ResultActionsDsl.kt
.../org/springframework/test/web/servlet/ResultActionsDsl.kt
+16
-1
spring-test/src/test/kotlin/org/springframework/test/web/servlet/MockMvcExtensionsTests.kt
...pringframework/test/web/servlet/MockMvcExtensionsTests.kt
+13
-0
未找到文件。
spring-test/src/main/kotlin/org/springframework/test/web/servlet/MockHttpServletRequestDsl.kt
浏览文件 @
dc0ebefc
...
...
@@ -204,6 +204,6 @@ open class MockHttpServletRequestDsl(private val builder: MockHttpServletRequest
flashAttrs
?.
also
{
builder
.
flashAttrs
(
flashAttrs
!!
)
}
session
?.
also
{
builder
.
session
(
session
!!
)
}
principal
?.
also
{
builder
.
principal
(
principal
!!
)
}
return
ResultActionsDsl
(
mockMvc
.
perform
(
builder
))
return
ResultActionsDsl
(
mockMvc
.
perform
(
builder
)
,
mockMvc
)
}
}
spring-test/src/main/kotlin/org/springframework/test/web/servlet/ResultActionsDsl.kt
浏览文件 @
dc0ebefc
package
org.springframework.test.web.servlet
import
org.springframework.test.web.servlet.request.MockMvcRequestBuilders
/**
* Provide a [ResultActions] Kotlin DSL in order to be able to write idiomatic Kotlin code.
*
* @author Sebastien Deleuze
* @since 5.2
*/
class
ResultActionsDsl
(
private
val
actions
:
ResultActions
)
{
class
ResultActionsDsl
(
private
val
actions
:
ResultActions
,
private
val
mockMvc
:
MockMvc
)
{
/**
* Provide access to [MockMvcResultMatchersDsl] Kotlin DSL.
...
...
@@ -26,6 +28,19 @@ class ResultActionsDsl(private val actions: ResultActions) {
return
this
}
/**
* Enable asynchronous dispatching.
* @see MockMvcRequestBuilders.asyncDispatch
* @since 5.2.2
*/
fun
asyncDispatch
():
ResultActionsDsl
{
return
andExpect
{
request
{
asyncStarted
()
}
}.
andReturn
().
let
{
ResultActionsDsl
(
mockMvc
.
perform
(
MockMvcRequestBuilders
.
asyncDispatch
(
it
)),
mockMvc
)
}
}
/**
* @see ResultActions.andReturn
*/
...
...
spring-test/src/test/kotlin/org/springframework/test/web/servlet/MockMvcExtensionsTests.kt
浏览文件 @
dc0ebefc
...
...
@@ -25,6 +25,7 @@ import org.springframework.http.MediaType.*
import
org.springframework.test.web.Person
import
org.springframework.test.web.servlet.setup.MockMvcBuilders
import
org.springframework.web.bind.annotation.*
import
reactor.core.publisher.Mono
import
java.security.Principal
import
java.util.*
...
...
@@ -153,6 +154,13 @@ class MockMvcExtensionsTests {
}
}
@Test
fun
asyncDispatch
()
{
mockMvc
.
get
(
"/async"
).
asyncDispatch
().
andExpect
{
status
{
isOk
}
}
}
@RestController
private
class
PersonController
{
...
...
@@ -166,5 +174,10 @@ class MockMvcExtensionsTests {
@PostMapping
(
"/person"
)
@ResponseStatus
(
HttpStatus
.
CREATED
)
fun
post
(
@RequestBody
person
:
Person
)
{}
@GetMapping
(
"/async"
)
fun
getAsync
():
Mono
<
Person
>
{
return
Mono
.
just
(
Person
(
"foo"
))
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录