Mike Sallese Mike Sallese - 1 year ago 102
Groovy Question

Make assertions on a list in spock

I have written a spock test where I'm trying to make assertions on a list of items. Let's say as an example I want to check every number in a list if it is equal to 500:

def numbers = [1,2,3,4]
assert it == 500

Returns the following

Assertion failed:

assert it == 500
| |
1 false

How can I make an assertion on a list without stopping at the first failure? Here is the spock test to accompany my assertion:

def "Check if each number in a list is 500"{
given: "A list of numbers"
def numbers = [1,2,3,4]

expect: "each number to be 500"
assert it == 500

To clarify I want to see each failure in my spock test report

So I should see the 1 != 500, 2!= 500, etc.

Answer Source

You can also have something like this:

def "Check if #number is 500"(){ 
        number == 500 
        number << [1,2,3,4] 

Not sure that fits your needs though

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download