You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Tibor Digana (JIRA)" <ji...@apache.org> on 2016/04/28 00:26:12 UTC

[jira] [Comment Edited] (SUREFIRE-1241) include everything and exclude nothing

    [ https://issues.apache.org/jira/browse/SUREFIRE-1241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15261075#comment-15261075 ] 

Tibor Digana edited comment on SUREFIRE-1241 at 4/27/16 10:25 PM:
------------------------------------------------------------------

{quote}  Eclipse and IntelliJ. Why would they not likewise distinguish between unit and integration, for example? {quote}
It's because IDE do not distinguish between phases of the build lifecycle. The Maven has build lifecycle but IntelliJ is forced to run any class as a test because the user want's to run it during development. But Maven is in different position, where unit test are run on test-classes and ITs are run on JAR files. For instance the JAR is typical uber file and the content differs from test-classes.


was (Author: tibor17):
>> Eclipse and IntelliJ. Why would they not likewise distinguish between unit and integration, for example?
It's because IDE do not distinguish between phases of the build lifecycle. The Maven has build lifecycle but IntelliJ is forced to run any class as a test because the user want's to run it during development. But Maven is in different position, where unit test are run on test-classes and ITs are run on JAR files. For instance the JAR is typical uber file and the content differs from test-classes.

> include everything and exclude nothing
> --------------------------------------
>
>                 Key: SUREFIRE-1241
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1241
>             Project: Maven Surefire
>          Issue Type: Improvement
>            Reporter: Chris Pennello
>
> I would like to suggest we alter the default values for {{<includes>}} and {{<excludes>}}.
> The current defaults for the includes are
> {noformat}
> <include>**/Test*.java</include>
> <include>**/*Test.java</include>
> <include>**/*TestCase.java</include>
> {noformat}
> and the current default for the excludes is
> {noformat}
> <exclude>**/*$*</exclude>
> {noformat}
> This causes Surefire to behave differently when finding tests from several other independent implementations--Eclipse and IntelliJ.  Both of these IDEs find all {{@Test}}-annotated methods.  Thus, when testing with the IDEs, you run many more of your tests than Maven does using Surefire (presuming that you choose names or class nesting that are subject to the default rules).
> I think it would be very valuable for Surefire to behave consistently with respect to these two pretty popular IDEs.
> I am curious about the origin of the defaults for these rules.  Maybe there are some great reasons to limit the inclusions and have non-empty exclusions by default?  But if so, then why don't the IDEs do the same?  What are the risks?
> Absent any such reasoning, it seems to me like it would be most helpful to the user base to make the tests we discover as inclusive as possible.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)