moon.mid
moon.mid

Reputation: 161

Maven parallel test output

When I set my Maven build to run my integration tests in parallel, I see:

01:31:47 -------------------------------------------------------
01:31:47  T E S T S
01:31:47 -------------------------------------------------------
01:31:48 Concurrency config is parallel='classes', perCoreThreadCount=true, threadCount=20, useUnlimitedThreads=false

But then I don't see the progress of any of my tests. Eventually, they all finish and the output gets dumped out all at once.

01:41:42 Running com.my.test.TestClass
01:41:42 Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 69.706 sec
....

That test class finished after a minute yet it wasn't output until all the tests finished 10 minutes later.

How can I get the results of each class as it finishes to get output? It's hard to understand the progress of the build otherwise.

Upvotes: 8

Views: 1730

Answers (1)

Mark Bramnik
Mark Bramnik

Reputation: 42491

Hope, I've got your question right. I think that's because tests that are being running in parallel can't really use the same console to notify their own progress, not technically, but conceptually it doesn't really make sense. Since maven processes the modules concurrently it possible that 2 tests running simultaneously will "share" the console. You'll just get the garbage in an output.

So instead, I guess you should take a look only on the overall results in the console and go for reports per module.

Surefire plugin responsible for running the tests generates reports per test.

There is also surefire report plugin

Hope this helps

Upvotes: 1

Related Questions