【发布时间】:2021-01-12 14:18:32
【问题描述】:
我有一种情况,我想使用post 请求创建一些数据,然后在其他几个测试中使用该帖子的结果,是否可以使用 spock 执行此操作。从下面我想重用response(或从中提取的东西。我该怎么做?
def "AddAssessment valid output case"() {
given:
def request = """
{
"assessmentTopic" : "$assessmentTopic",
"assessmentSubTopic" : "$assessmentSubTopic",
"duration" : "$duration",
"assessmentLevel" : "$assessmentLevel"
}
"""
when:
def result = mvc.perform(
MockMvcRequestBuilders
.post("/assessments/createAssessment")
.content(request)
.contentType(MediaType.APPLICATION_JSON)
)
then:
MvcResult response = result
.andExpect(MockMvcResultMatchers.status().isOk())
.andExpect(MockMvcResultMatchers.jsonPath('$.*').doesNotExist())
.andReturn()
where:
assessmentTopic | assessmentSubTopic | duration | assessmentLevel
"Maths" | "Calculus" | "120" | "1"
"Civils" | "History" | "500" | "4"
"UPSC" | "GK" | "120" | "5"
"Chemistry" | "Elements" | "120" | "3"
}
【问题讨论】:
-
您是否考虑过做出您希望重复使用
@Shared变量并在setupSpec()方法中初始化它的响应? -
让我试试看。谢谢!
-
是的,它有效。今天刚试过:)
标签: spock