I have a very simple test as blow:
def "setContent_activity_finished"(Status editStatus) {
// Variables.........................
given:
activity.getStatus() >> editStatus.toString()
when:
handler.setContent(activityId,jsonString)
then:
0*view.appendPossible(_)
where:
editStatus |_
FINISHED |_
CANCELED |_
}
According to the document http://spock-framework.readthedocs.org/en/latest/data_driven_testing.html Data tables must have at least two columns. A single-column table can be written as:
where:
a | _
1 | _
7 | _
0 | _
And I follow this rule,but got an error look like picture shown:
Groovy:Date variable '_' needs to be declared as method parameter
so,please tell me What the problem is here?
Another way to achieve single column is to use data pipes http://spockframework.org/spock/docs/1.0/data_driven_testing.html
where:
editStatus << [FINISHED, CANCELED]
The parameter list has to be either ()
or (Status editStatus, _)
. (You can't declare just one data variable but not the other.) There is an open pull request to allow (Status editStatus)
in this particular case.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With