GroovyBee
GroovyBee

Reputation: 275

Testing thread concurrency with Spock

Is there a spock equivalent of TestNG's @Test(threadPoolSize=n) that will allow me test the execution of a test, with multiple threads concurrently?

Basically, given a specification like so...

class SampleSpec extends Specification {
    def "test concurrent access"(){
        setup:
        //do complex logic
        expect:
        //assert complex logic
    }

}

What I want is a way to do this in spock, but with multiple threads spawned concurrently to execute the test method. In TestNG, I could easily achieve this by doing

@Test(threadPoolSize=10)
public void testMethod(){
    //do complex logic and assertion

}

Thanks in advance.

Upvotes: 9

Views: 2778

Answers (1)

Peter Niederwieser
Peter Niederwieser

Reputation: 123910

Spock doesn't support this out of the box. It wouldn't be so hard to write a Spock extension for it though. For inspiration, have a look at class org.spockframework.runtime.extension.builtin.TimeoutExtension.

Upvotes: 1

Related Questions