How to write multi-threaded unit tests?

后端 未结 3 1521
青春惊慌失措
青春惊慌失措 2021-01-31 11:39

I\'d like to know if there are some unit testing frameworks which are capable of writing multi-threaded tests easily?

I would imagine something like: invoke a special te

相关标签:
3条回答
  • 2021-01-31 11:50

    Just using the concurrency libraries would simplify your code. You can turn your boiler plate code into one method.

    Something like

    public static void runAll(int times, Runnable... tests) {
    
    }
    
    0 讨论(0)
  • 2021-01-31 12:10

    There is also MultithreadedTC by Bill Pugh of FindBugs fame.

    0 讨论(0)
  • 2021-01-31 12:14

    There is ConTest, and also GroboUtils.

    I've used GroboUtils many years ago, and it did the job. ConTest is newer, and would be my preferred starting point now, since rather than just relying on trial and error, the instrumentation forces specific interleavings of the threads, providing a deterministic test. In contrast, GroboUtils MultiThreadedTestRunner simply runs the tests and hopes the scheduler produces an interleaving that causes the thread bug to appear.

    EDIT: See also ConcuTest which also forces interleavings and is free.

    0 讨论(0)
提交回复
热议问题