Since a while it is possible to configure maven surefire to execute jUnit tests and testNG tests in one build. I won't expand on the reasons why I'm doing that (ok, hint: testNG is our standard framework but some frameworks like <a href="http://jnario.org/" rel="noreferrer">jnario</a> require jUnit).
The general way to do it is to configure the surefire plugin like this:
<pre class="lang-xml prettyprint-override">
<a href="http://solidsoft.wordpress.com/2013...junit-tests-in-one-maven-module-2013-edition/" rel="noreferrer">(taken from here)</a>
This works quite well, jUnit tests and testNG tests get executed.
BUT - now I see that testNG tries to execute the jUnit tests too (and maybe vice-versa) - with no success, of course, because it won't see any of its annotations, but it looks like it re-marks the tests to "passed"... anyway, some reporting tools don't show test fails in jUnit tests anymore unless I comment the second dependency entry.
Is there any better way to configure surefire so that tests from both frameworks are executed ONLY by their test runners?
The general way to do it is to configure the surefire plugin like this:
<pre class="lang-xml prettyprint-override">
Code:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.version}</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>${surefire.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-testng</artifactId>
<version>${surefire.version}</version>
</dependency>
</dependencies>
</plugin>
<a href="http://solidsoft.wordpress.com/2013...junit-tests-in-one-maven-module-2013-edition/" rel="noreferrer">(taken from here)</a>
This works quite well, jUnit tests and testNG tests get executed.
BUT - now I see that testNG tries to execute the jUnit tests too (and maybe vice-versa) - with no success, of course, because it won't see any of its annotations, but it looks like it re-marks the tests to "passed"... anyway, some reporting tools don't show test fails in jUnit tests anymore unless I comment the second dependency entry.
Is there any better way to configure surefire so that tests from both frameworks are executed ONLY by their test runners?