I am working with:
- Spock Core
- Spock Reports
- Spock Spring
- Spring MVC Testing
and I have the following code:
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))
}
Two observations:
One: observe given: "The URL being used is: /personas/xml/personas"
where the URL/URI value has been added manually.
Two: the url
variable has been defined how an instance variable, because it is common in many test methods. Therefore def String url
My question is:
how I can display the url
variable in a Spock's label/block? how (given, then…)? It to be printed through Spock Reports and improve my testing documentation
I have read the following: Spocklight: Extra Data Variables for Unroll Description
It working around @Unroll. But I did realize all work around the where
label/block.
I already have tried something like:
given: "The URL being used is: $url"
given: "The URL being used is: ${url}"
And does not work
I want to work around with a syntax similar like the following:
def "findAll() Expected"(){
url = PersonaUrlHelper.FINDALL;
given: "The URL being used is: $url"
…. something
when: "When the URL is being calling with a GET"
So what could be the correct configuration?
Asume I do a refactor for PersonaUrlHelper.FINDALL
used in some Spring's @RequestMapping
and in this test method. I don't want update manually the text in the given
label/block
So what is the correct syntax?
Aucun commentaire:
Enregistrer un commentaire