【发布时间】:2016-02-24 17:00:06
【问题描述】:
我正在与:
- Spock 核心
- Spock 报告
- 斯波克弹簧
- Spring MVC 测试
我有以下代码:
def "findAll() Expected"(){
given: "The URL being used is: /personas/xml/personas"
url = PersonaUrlHelper.FINDALL;
when: "When the URL is being calling with a GET"
resultActions = mockMvc.perform(get(url)).andDo(print())
then: "something..."
resultActions.andExpect(status().isOk())
.andExpect(content().contentType(RequestMappingProducesJsonUtf8.PRODUCES_JSON_UTF_8))
}
两个观察结果:
一个:观察given: "The URL being used is: /personas/xml/personas",其中手动添加了URL/URI值。
二:url变量已经被定义为一个实例变量,因为它在很多测试方法中很常见。所以def String url
我的问题是:
如何在Spock 的标签/块 中显示url 变量?如何(给定,然后……)?它通过 Spock 报告 打印并改进我的测试文档
我已阅读以下内容: Spocklight: Extra Data Variables for Unroll Description
它围绕 @Unroll 工作。但我确实意识到围绕where 标签/块的所有工作。
我已经尝试过类似的方法:
given: "The URL being used is: $url"
given: "The URL being used is: ${url}"
而且不工作
我想使用类似于以下的 语法:
def "findAll() Expected"(){
url = PersonaUrlHelper.FINDALL;
given: "The URL being used is: $url"
…. something
when: "When the URL is being calling with a GET"
那么正确的配置可能是什么?
假设我对在某些 Spring 的 @RequestMapping 和此测试方法中使用的 PersonaUrlHelper.FINDALL 进行了重构。我不想手动更新given 标签/块中的文本
那么正确的语法是什么?
【问题讨论】:
标签: testing spock spock-reports