Testing thread concurrency with Spock
Asked Answered
R

1

9

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.

Riptide answered 1/11, 2011 at 9:58 Comment(2)
I don't believe there is, but this will probably get a quicker answer in their discussion forumHectometer
thanks tim. I have posted to the spock forum as you have suggestedRiptide
G
1

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.

Gianina answered 1/11, 2011 at 13:43 Comment(2)
How did that go, @GroovyBee?Logicize
If it wouldn't be so hard, can anyone or maybe Spock author provide a working example?Crotty

© 2022 - 2024 — McMap. All rights reserved.