Mike Sallese Mike Sallese - 25 days ago 5x
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.


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