[
https://issues.apache.org/jira/browse/SUREFIRE-2039?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Semyon Danilov updated SUREFIRE-2039:
-------------------------------------
Description:
Consider a simple scenario, two test classes, `ATest` and `BTest`, one
Disabled and one not respectively, each has three test methods. After running
`mvn surefire:test` the report will indicate that 4 tests were run and one of
them was skipped:
{noformat}
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.example.test.BTest
[WARNING] Tests run: 4, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.062
s - in org.example.test.BTest
[INFO]
[INFO] Results:
[INFO]
[WARNING] Tests run: 4, Failures: 0, Errors: 0, Skipped: 1
{noformat}
And if we enable ATest and disable BTest, then report will only mention running
three tests, none skipped:
{noformat}
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.example.test.ATest
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.079 s
- in org.example.test.ATest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
{noformat}
This behavior is the result of the way how
`org.apache.maven.plugin.surefire.report.TestSetRunListener` handles skipped
test. It adds them to the `detailsForThis` and only print after test set is
finished which happens when a non-disabled test set is finished thus adding
skipped test results to the statistics of a non-skipped test set. And, of
course, if the disabled test is ran after the non-disabled test, it won't be
reported at all.
The reproducer can be found here:
https://github.com/SammyVimesFiledIssues/SUREFIRE-2039
was:
Consider a simple scenario, two test classes, `ATest` and `BTest`, one
Disabled and one not respectively, each has three test methods. After running
`mvn surefire:test` the report will indicate that 4 tests were run and one of
them was skipped:
{noformat}
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.example.test.BTest
[WARNING] Tests run: 4, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.062
s - in org.example.test.BTest
[INFO]
[INFO] Results:
[INFO]
[WARNING] Tests run: 4, Failures: 0, Errors: 0, Skipped: 1
{noformat}
And if we enable ATest and disable BTest, then report will only mention running
three tests, none skipped:
{noformat}
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.example.test.ATest
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.079 s
- in org.example.test.ATest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
{noformat}
This behavior is the result of the way how
`org.apache.maven.plugin.surefire.report.TestSetRunListener` handles skipped
test. It adds them to the `detailsForThis` and only print after test set is
finished which happens when a non-disabled test set is finished thus adding
skipped test results to the statistics of a non-skipped test set. And, of
course, if the disabled test is ran after the non-disabled test, it won't be
reported at all.
> Skipped test classes are getting into the non-skipped test classes reports
> --------------------------------------------------------------------------
>
> Key: SUREFIRE-2039
> URL: https://issues.apache.org/jira/browse/SUREFIRE-2039
> Project: Maven Surefire
> Issue Type: Bug
> Affects Versions: 3.0.0-M5
> Reporter: Semyon Danilov
> Priority: Major
>
> Consider a simple scenario, two test classes, `ATest` and `BTest`, one
> Disabled and one not respectively, each has three test methods. After running
> `mvn surefire:test` the report will indicate that 4 tests were run and one of
> them was skipped:
> {noformat}
> [INFO] T E S T S
> [INFO] -------------------------------------------------------
> [INFO] Running org.example.test.BTest
> [WARNING] Tests run: 4, Failures: 0, Errors: 0, Skipped: 1, Time elapsed:
> 0.062 s - in org.example.test.BTest
> [INFO]
> [INFO] Results:
> [INFO]
> [WARNING] Tests run: 4, Failures: 0, Errors: 0, Skipped: 1
> {noformat}
> And if we enable ATest and disable BTest, then report will only mention
> running three tests, none skipped:
> {noformat}
> [INFO] T E S T S
> [INFO] -------------------------------------------------------
> [INFO] Running org.example.test.ATest
> [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.079
> s - in org.example.test.ATest
> [INFO]
> [INFO] Results:
> [INFO]
> [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
> {noformat}
> This behavior is the result of the way how
> `org.apache.maven.plugin.surefire.report.TestSetRunListener` handles skipped
> test. It adds them to the `detailsForThis` and only print after test set is
> finished which happens when a non-disabled test set is finished thus adding
> skipped test results to the statistics of a non-skipped test set. And, of
> course, if the disabled test is ran after the non-disabled test, it won't be
> reported at all.
> The reproducer can be found here:
> https://github.com/SammyVimesFiledIssues/SUREFIRE-2039
--
This message was sent by Atlassian Jira
(v8.20.1#820001)