[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17254120#comment-17254120 ] Tibor Digana commented on SUREFIRE-1546: [~reitzmichnicht] I believe that the property {{junit5.version}} has no null but we can continue with isolated project. I can isolate the detailed test in a separate GitHub project where you and me can investigate this issue more clearly. So I will send you a link with the project. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 40m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17249748#comment-17249748 ] Michael Düsterhus commented on SUREFIRE-1546: - Tried executing JUnitPlatformEnginesIT from tag 3.0.0-M5, but junit5.version=null seems wrong. So the test does not run successfully. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 40m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17247178#comment-17247178 ] Tibor Digana commented on SUREFIRE-1546: Hi [~reitzmichnicht], i do not have much time to investigate user logs but i think you may execute our internal [integration tests|https://github.com/apache/maven-surefire/tree/master/surefire-its] which verify this configuration. We are verifying the XML. Not sure about verifying the console log output in the ITs. Pls isolate the test and run the POM which contains *statelessTestsetInfoReporter* - just start *mvn test -Dsurefire.version=3.0.0-M5*. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 40m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17247160#comment-17247160 ] Michael Düsterhus commented on SUREFIRE-1546: - I think this still does not work as expected: If I enable this: {code:java} false true true {code} And I have junit5 test classes that do not use the DisplayName annotation I get the following output on the surefire console: [INFO] Running null [INFO] Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.043 s - in null It only works for classes that have a DisplayName set. Kind regards, Michael > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 40m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17008096#comment-17008096 ] Tibor Digana commented on SUREFIRE-1546: [~gsoutter] Yes, the IT is a good showcase. Feel free to ping us when you have it available. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 40m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17006314#comment-17006314 ] Geoff Soutter commented on SUREFIRE-1546: - Awesome work Tibor! I am particularly interested in the use case for DynamicTest and DynamicContainer, so I intend to test the new version and see how that works. I guess Stig will do / has done the same for ParameterizedTest. If I find it is not matching my expectations/hopes, next thing would be to create a pull request with an integration test which shows how I would like it to work, as you suggested. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 40m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16976182#comment-16976182 ] Tibor Digana commented on SUREFIRE-1546: Yesterday (November 17, 2019) we released the version [3.0.0-M4|https://maven.apache.org/surefire/index.html] of Surefire and Failsafe. The [displayname have to be selected|https://maven.apache.org/surefire/maven-surefire-plugin/examples/junit-platform.html#Surefire_Extensions_and_Reports_Configuration_for_.40DisplayName] and the default behavior is backwards compatible. We support display name. We support re-run of normal and parameterized tests as well. See [the matrix|https://maven.apache.org/surefire/maven-surefire-plugin/featurematrix.html] of supported or not supported features. Currently, we do not support reports with parallel tests due to the reporters, e.g. {{StatelessXmlReporter}}, whcih are not fully event based. These event based reporters will be reworked in future versions. This will open the door to support even more features than listed in the above matrix. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 40m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16847017#comment-16847017 ] Christian Stein commented on SUREFIRE-1546: --- Great seeing this feature being implemented. Good job, Tibor. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 40m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16819037#comment-16819037 ] Tibor Digana commented on SUREFIRE-1546: Feel free to write the test now, but it will fail as expected now. My point is to find out on how much information needs to be wrapped, transfered and logically structured, and what information makes sense for the user in terms of HTML report. The test should explore this in the outcome. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16819036#comment-16819036 ] Tibor Digana commented on SUREFIRE-1546: [~Srdo] The issue I see is the fact that you are joing the strings via " > " and you are constructing a text which should not be customized here in this class because it is not a report. It would be better to wait untill this issue is closed for normal tests, and then open a new ticket for parameterized tests staring with writing an integration test asserting extected behavior. Of course the test should be written and pushed to a pull request where we will better check it out practically. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16817674#comment-16817674 ] Stig Rohde Døssing commented on SUREFIRE-1546: -- [~marcphilipp] Thanks for the correction. The solution you describe sounds good to me. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16817634#comment-16817634 ] Marc Philipp commented on SUREFIRE-1546: [~Srdo] Yes, that looks reasonable but would break down if tests are executed concurrently. Using a {{ConcurrentMap}} (key: TestIdentifier#getUniqueId) for all in progress test identifiers and using it to look up parents of the current {{TestIdentifier}} would work, though. It probably should take all parents into accounts until it finds one with `ClassSource`. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16817626#comment-16817626 ] Stig Rohde Døssing commented on SUREFIRE-1546: -- [~marcphilipp] Yes, you're right. I forgot the "name =" part for ParameterizedTest. Other than that I think we wrote the same thing? [~tibor17] Maybe I'm being unclear. {code} What is obious from your code and listener console is the fact that DisplayName annotation has bar({0}) but the console has displayName: a parameterized test (bar(int)), type: TEST, source: MethodSource [...] How should I as Surefire developer cope with the JUnit API in this case of parameterized tests? {code} Keep in mind that you get multiple invocations of executionStarted for each ParameterizedTest. Let's say there are two invocations of the test. You then get 3 invocations of executionStarted {code} executionStarted - { displayName: bar{{0}}, type: CONTAINER, source: MethodSource [className = 'org.apache.surefire.stdout.corrupt.DemoTest', methodName = 'bar'] } <-- ParameterizedTest container executionStarted - { displayName: a parameterized test (bar(int)), type: TEST, source: MethodSource [...] } <-- First parameter invocation, executionFinished - { displayName: a parameterized test (bar(int)), type: TEST, source: MethodSource [...] } <-- First parameter invocation executionStarted - { displayName: a parameterized test (bar(int)), type: TEST, source: MethodSource [...] } <-- Second parameter invocation executionFinished - { displayName: a parameterized test (bar(int)), type: TEST, source: MethodSource [...] } <-- Second parameter invocation executionFinished - { displayName: bar{{0}}, type: CONTAINER, source: MethodSource [...] } <-- ParameterizedTest container {code} The point is that you are allowed to name both the whole ParameterizedTest package of tests, and also name each individual invocation. Surefire currently only looks at the DisplayName of the individual invocations. I'm trying to get across that Surefire should instead take the DisplayName of both the individual invocation, and the DisplayNames of any CONTAINER-type TestIdentifiers into account. Just to outline how Surefire's handling of this could look, RunListenerAdapter could keep a List in a field. {code} class RunListenerAdapter implements TestExecutionListener { private final List inScopeTestIdentifiers = ... public void testStarted(TestIdentifier testIdentifier) { inScopeTestIdentifiers.add(testIdentifier); } public void testFinished(TestIdentifier testIdentifier, TestExecutionResult testExecutionResult) { if (isTest) { String resolvedMethodName = inScopeTestIdentifiers.stream() .filter(id -> id.getSource instanceof MethodSource && id.type == CONTAINER) .map(id -> id.getDisplayName()) .collect(Collectors.joining(" > ")); //resolvedMethodName should now be "a parameterized test (bar(int))" resovledMethodName = resolvedMethodName + " > " + testIdentifier.getDisplayName; //Is now "a parameterized test (bar(int)) > bar(15)" } inScopeTestIdentifiers.remove(inScopeTestIdentifiers.size() - 1) } } {code} [~marcphilipp] can probably confirm whether this is a reasonable way to handle ParameterizedTest/RepeatedTest/other TestTemplates for a listener? {quote} Now me as developer of Surefire should be interested in the following call: [...] and I expect that display would have the string from the DisplayName annotation, i.e. bar(15) etc {quote} Yes, and you do get the name from the DisplayName annotation, but JUnit delivers it in an earlier invocation of executionStarted. It isn't enough to look at only the TestIdentifier for the test. The listener should also look at the "parent" TestIdentifiers (any other tests that have started, but not finished). > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16817592#comment-16817592 ] Romain Manni-Bucau commented on SUREFIRE-1546: -- Hi guys, Have to admit you lost me. Here is how I see things: - test execution is always a tree - even more with junit5 but was the case before even if less used. Surefire must just respect the provider here and not create its own api or way to do which is not accessible from IDE, - if a dev put a display name it is to make the console and report human friendly so it must be used, - class and method names are valuable and should be preserved My conclusion is that surefire must track this tree with meta like display name and fqn + probably move its report to a tree as often reported by native reporters. It is a bit of work but is portable and solves that dynamic/parameterized test issue cleanly. Alternatives sound like affecting negatively the users so I would love to avoid that. Hope it makes sense. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16817574#comment-16817574 ] Marc Philipp commented on SUREFIRE-1546: [~Srdo] Please correct me if I'm wrong, but I think you meant to write the following that matches the test tree you posted: {code:java} @DisplayName(value = "a parameterized test (bar(int))") <-- This is the name for the whole ParameterizedTest container @ParameterizedTest(name = "bar({0})") <-- This is the individual invocation name, where param index and value is available {code} [~tibor17] With the code above, the display name would be {{bar(15)}} for the invocation and {{a parameterized test (bar(int))}} for the enclosing container. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16817361#comment-16817361 ] Tibor Digana commented on SUREFIRE-1546: [~Srdo] Don't talk about Surefire because latest version does not understand DisplayName. What is obious from your code and listener console is the fact that DisplayName annotation has {{bar({0})}} but the console has {{displayName: a parameterized test (bar(int)), type: TEST, source: MethodSource}}. Now me as developer of Surefire should must be interested in the following call: {code:java} Optional testSource = testIdentifier.getSource(); String display = testIdentifier.getDisplayName(); // <<< MethodSource methodSource = testSource.map( MethodSource.class::cast ).get(); // we are in the test method "bar" String methodName = methodSource.getMethodName(); // returns "bar" {code} and I expect that {{display}} would have the string from the DisplayName annotation, i.e. {{bar(15)}} etc. I guess the user would expect the same. And if it is not like that then it is a problem, and even more problematic if another "display name" is in the second annotation {{ParameterizedTest}}. How should I as Surefire developer cope with the JUnit API in this case of parameterized tests? > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16817279#comment-16817279 ] Stig Rohde Døssing commented on SUREFIRE-1546: -- [~tibor17] I would like the HTML report/console output to contain (at least) the classname, method name and parameters of the test. I'm talking about the container and its display name, because in JUnit 5, writing a ParameterizedTest with e.g. 2 runs produces a container with a display name (e.g. "bar(int)"), containing two tests each with their own display names (e.g "[1] 15" and "[2] 54"). Surefire's test listener currently only cares about the display name of the two tests, and not the name of the container. This means we lose the test method name when using ParameterizedTests, because we only print e.g. "[1] 15", and not "bar(int) > [1] 15". {quote} IMHO what you guys have showed me is a technical problem in JUnit where the annotation DisplayName does not show x = bar(15) and x = bar(54) which I would expect (according the experiences with JUnit4) as a user. {quote} I agree that DisplayName for ParameterizedTests is slightly confusing, but the DisplayName set for the test is for the entire set of ParameterizedTest invocations. The DisplayName for the individual invocations is set via ParameterizedTest(name = "invocation display name"). Does it matter whether you need to write {code} @DisplayName(container = "a parameterized test (bar(int))", value = "bar({0})") @ParameterizedTest {code} or {code} @DisplayName("a parameterized test (bar(int))") @ParameterizedTest("bar({0})") {code} They express the same thing IMO. I think the issue here is that Surefire's test listener needs to be aware that it needs to get both the DisplayName of the invoked test method, and potentially also the DisplayName of the containers of that test method. {quote} The next problem is that DisplayName talks about string constant, but JUnit5 adds something to the end: (bar(int)) which I as user would not like to see because the framework is adding it unexpectedly and I do not have the string under control {quote} JUnit 5 doesn't add anything to the DisplayName as far as I can tell? Are you talking about the legacy reporting name? > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16817267#comment-16817267 ] Tibor Digana commented on SUREFIRE-1546: [~Srdo] [~marcphilipp] It's clear what I said. You had a problem and I showed you my opinion with another annotations which make sense to me. In my opinion users want to see test methods and classes in HTML, so why we are talking about container and its display name. It is better to list all attributes which want to be shown on HTML and then we will see if JUnit5 can currently cover those, and not to talk about "how to do this and that technically" instead of writing a manifesto with these list of attributes. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16817248#comment-16817248 ] Stig Rohde Døssing commented on SUREFIRE-1546: -- [~tibor17] I think JUnit already has the syntax needed for configuring the container name. With the current JUnit syntax, you example would be written as {code} class DemoTest { @ParameterizedTest(name = "a parameterized test (bar(int))") <-- This is the individual invocation name, where param index and value is available @DisplayName(value = "bar({0})") <-- This is the name for the whole ParameterizedTest container void bar(@ValueSource(intValue = {15, 54}) int x) { ... } } {code} When JUnit calls the RunListenerAdapter, the sequence of calls will be {code} executionStarted - { displayName: JUnit Jupiter, type: CONTAINER, source: null } executionStarted - { displayName: DemoTest, type: CONTAINER, source: ClassSource [className = 'org.apache.surefire.stdout.corrupt.DemoTest'] } executionStarted - { displayName: bar{{0}}, type: CONTAINER, source: MethodSource [className = 'org.apache.surefire.stdout.corrupt.DemoTest', methodName = 'bar'] } <-- ParameterizedTest container executionStarted - { displayName: a parameterized test (bar(int)), type: TEST, source: MethodSource [...] } <-- First parameter invocation, executionFinished - { displayName: a parameterized test (bar(int)), type: TEST, source: MethodSource [...] } <-- First parameter invocation executionStarted - { displayName: a parameterized test (bar(int)), type: TEST, source: MethodSource [...] } <-- Second parameter invocation executionFinished - { displayName: a parameterized test (bar(int)), type: TEST, source: MethodSource [...] } <-- Second parameter invocation executionFinished - { displayName: bar{{0}}, type: CONTAINER, source: MethodSource [...] } <-- ParameterizedTest container executionFinished - { displayName: DemoTest, type: CONTAINER, source: ClassSource [...] } executionFinished - { displayName: JUnit Jupiter, type: CONTAINER, source: null } {code} I think the RunListenerAdapter could build a stack of displayNames, where you add a name to the stack when executionStarted is called, and remove it when executionFinished is called. We should be able to build a tree like {code} JUnit Jupiter └── DemoTest └── a parameterized test (bar(int)) ├── bar(0) └── bar(1) {code} that way. The default DisplayName of the ParameterizedTest container is the method name and parameter types (so "bar(int)"), and the default DisplayName of the individual invocations is {code} "[{index}] {arguments}" {code} So with no custom DisplayName or name parameter on ParameterizedTest, we get a DisplayName hierarchy of {code} JUnit Jupiter └── DemoTest └── bar(int) ├── [1] 15 └── [2] 54 {code} I put a little example here if you want to play around with how JUnit calls the TestExecutionListener https://github.com/srdo/junit-5-test-listener. The sequence of calls is logged to test-out.log (stdout gets broken due to https://issues.apache.org/jira/browse/SUREFIRE-1659) > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16817219#comment-16817219 ] Marc Philipp commented on SUREFIRE-1546: [~tibor17] I don't understand where you're going with this. Are you proposing a new way to write parameterized tests for JUnit Jupiter? Could you please elaborate? > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16817083#comment-16817083 ] Tibor Digana commented on SUREFIRE-1546: [~Srdo] [~marcphilipp] I would understand method display name as runtime string, this way, and this may distinguish from JUnit4 style of parameterized annotation: {code:java} @ParameterizedTest @DisplayName(container = "a parameterized test (bar(int))", value = "bar({0})") void bar(@ValueSource(intValue = {15, 54}) int x) { ... } {code} then it would become: {noformat} JUnit Jupiter └── Some tests (com.acme.SomeTests) └── a parameterized test (bar(int)) ├── bar(0) └── bar(1) {noformat} WDYT? > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16816969#comment-16816969 ] Stig Rohde Døssing commented on SUREFIRE-1546: -- [~marcphilipp] The example you posted looks great, and is pretty much how I would want it to work. Having the console flatten the tree and print it would be good. For the solution you mentioned as being possible without the new reporting format, I'd be happy to try adding the display name of the container to the invocation display name in RunListenerAdapter. Would it make sense to assume we want to prefix the container display name if the container TestIdentifier has a MethodSource, and otherwise not? (so we don't end up prefixing with e.g. the containing class) > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16816931#comment-16816931 ] Tibor Digana commented on SUREFIRE-1546: [~marcphilipp] We still do not know what this test would return in {{methodSource.getMethodName()}} and {{testIdentifier.getSource()}}. We don't have such IT. Currently we alter {{classname}} xml attribute by enabled/disabled Display Name in Surefire Extension. And I think two xml attributes for testsuite and testcase can be added but then the new extension would have to provide a new config param saying which XSD version to use in generated XML. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16816884#comment-16816884 ] Marc Philipp commented on SUREFIRE-1546: {code:java} @DisplayName("Some tests" class SomeTests { @ParameterizedTest(name = "x = {0}") @DisplayName("a parameterized test") @ValueSource(intValue = {15, 54}) void bar(int x) {} } {code} Given the code above, the test tree would look like the following: {code} JUnit Jupiter └── Some tests (com.acme.SomeTests) └── a parameterized test (bar(int)) ├── x = 15 (bar(int)[0]) └── x = 54 (bar(int)[1]) {code} In put the "legacy reporting name" that JUnit provides in parentheses. In the long run, I think Surefire should move beyond the strict class-method tuple requirement. As [~sor] mentioned above, that will require a new reporting format which we plan to work on for JUnit 5.6. For now, Surefire could combine the display name of the method ("a parameterized test") with the one for the invocation ("x = ..."). > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16816672#comment-16816672 ] Tibor Digana commented on SUREFIRE-1546: [~marcphilipp] [~Srdo] This code extracts display name of method and display name of class. https://github.com/apache/maven-surefire/blob/1546-1222/surefire-providers/surefire-junit-platform/src/main/java/org/apache/maven/surefire/junitplatform/RunListenerAdapter.java#L225 > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16816668#comment-16816668 ] Tibor Digana commented on SUREFIRE-1546: [~marcphilipp] [~Srdo] We differenciate display name between class and method in Surefire. These are two therefore for us. Which of {{com.somepackage.TestClass > bar(int) > myDisplayName}} is the method's display name? It is obvious that {{com.somepackage.TestClass}} is the display name for the test class. [~Srdo] Regarding the configuration of Surefire in POM. uppose this is hardware and we do not recognize such a detail like parameterized test in the reporter level. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16816570#comment-16816570 ] Stig Rohde Døssing commented on SUREFIRE-1546: -- [~marcphilipp] That would be nice. So for parameterized tests it could look like {code} com.somepackage.TestClass > bar(int) > [1] 54 {code} if you were using the default DisplayName (https://junit.org/junit5/docs/current/api/org/junit/jupiter/params/ParameterizedTest.html#DEFAULT_DISPLAY_NAME). What if you set a custom DisplayName? Would it look like {code} com.somepackage.TestClass > bar(int) > myDisplayName {code} ? > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16816480#comment-16816480 ] Marc Philipp commented on SUREFIRE-1546: FWIW dynamic tests provide another way to deeply nest tests below a method. At least for the console, one solution would be to print all test tree elements below the test class, e.g. _com.somepackage.TestClass > bar(int) >_ [1]. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16816459#comment-16816459 ] Stig Rohde Døssing commented on SUREFIRE-1546: -- Thanks for responding [~tibor17]. The reporter configuration idea looks good. Will there be a way to differentiate between parameterized tests and other tests? I'm not sure how to get reasonable behavior out of the displayname for parameterized tests alongside regular tests. For example, if you have a test with {code} @Test @DisplayName("cool test") void test() {} @Test void foo() {} @ParameterizedTest @ValueSource(intValue = {15, 54}) void bar(int x) {} {code} My preference here would be output like {quote} [ERROR] cool test [ERROR] com.somepackage.TestClass.foo [ERROR] com.somepackage.TestClass.bar[0] 15 [ERROR] com.somepackage.TestClass.bar[1] 54 {quote} Won't I have to either choose to set PHRASED, giving me {quote} [ERROR] cool test [ERROR] com.somepackage.TestClass.foo [ERROR] com.somepackage.TestClass.[0] 15 [ERROR] com.somepackage.TestClass.[1] 54 {quote} i.e. losing the ParameterizedTest method names, or DEFAULT {quote} [ERROR] com.somepackage.TestClass.test [ERROR] com.somepackage.TestClass.foo [ERROR] com.somepackage.TestClass.bar[0] 15 [ERROR] com.somepackage.TestClass.bar[1] 54 {quote} i.e. losing the DisplayName? Also I'm just saying that for parameterized tests specifically, defaulting to a behavior where the console doesn't print the test method name for parameterized tests is not great. I can see why the JUnit guys don't include it by default, since it is useful to be able to leave it off in a hierarchical view in an IDE (since e.g. having a single com.somepackage.TestClass.bar header, and then points "[0] 15" and "[1] 54" under that header makes sense). The console output in Surefire is flat though, and ends up lacking information about which test method failed. Maybe this is something I should ask about on the JUnit project? I'm not sure how Surefire would know whether to include the parameterized test method name or not, since users may also set a custom DisplayName, in which case the method name shouldn't be there? > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16816403#comment-16816403 ] Tibor Digana commented on SUREFIRE-1546: [~Srdo] We are aware of this. I want to make you sure that we do not want to break backwards compatibility in version 3.0.0-M4 (broken in M6). Therefore a complex configuration is required and every user may change this behavior on the level of: 1. POM configuration 2. Java implementation like a plugin to Surefire plugin (Open Closed Design Pattern) done by user - see the XML attribute {{implementation}} Here is an example of stateless XML reporter {code:xml} maven-surefire-plugin 3.0.0-SNAPSHOT true DEFAULT PHRASED PHRASED {code} and there are next two reporters. For more information see https://github.com/apache/maven-surefire/pull/226#issuecomment-480264926 The aim of version {{3.0.0}} is to have such of these extensions which open possibility for the user to change the behavior of this plugin without asking us development team. This brings a certain freedom for everyone. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16816383#comment-16816383 ] Stig Rohde Døssing commented on SUREFIRE-1546: -- This change causes parameterized tests to lose the method name in the console output. For example, running a parameterized test called TestWindowCount declared as {code} @ParameterizedTest @MethodSource(value = "generateCountWindows") public void testWindowCount(int windowSize, int slideSize) throws Exception {code} gives this output {quote} [ERROR] org.apache.storm.st.tests.window.SlidingWindowTest.[7] 5, 10 Time elapsed: 88.167 s <<< FAILURE! {quote} Note the missing method name. I don't think this is a good default behavior. The discussion at https://github.com/junit-team/junit5/issues/1496#issuecomment-404178095 seems to imply that excluding the method name is intentional. I think it would be nicer if the method name were included by default, but I'm not sure if the issue belongs here (since Surefire could include the method name in the output), or in JUnit (since the default displayName for parameterized tests could be changed). What do you think? > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16811040#comment-16811040 ] Tibor Digana commented on SUREFIRE-1546: Display Name works fine in XML/TXT reporters, see https://github.com/apache/maven-surefire/pull/226 Missing implementation and unit tests for a new Extensions API. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16780665#comment-16780665 ] Christian Stein commented on SUREFIRE-1546: --- > Is there a plan of where to put folders of DynamicTests? Is that covered in >this ticket or would be in a different one? I'm not sure how we (the JUnit team) handle dynamic containers over at [https://github.com/junit-team/junit5/tree/master/junit-platform-reporting/src/main/java/org/junit/platform/reporting/legacy/xml] – need to investigate this. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16778576#comment-16778576 ] Tibor Digana commented on SUREFIRE-1546: [~gsoutter] Honestly we want to reopen this issue after SUREFIRE-1222 and add an extension to this plugin. The goal of this extension is to customize this behavior (alter ordinal/display names in XML and names of files or dirs). Every customer has opposite requirements. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16777610#comment-16777610 ] Geoff Soutter commented on SUREFIRE-1546: - I had a quick play with 3.0.0-M4-SNAPSHOT and a JUnit5 DynamicTest. I noticed Filename is {{TEST-}} Content of file has {code} JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16763744#comment-16763744 ] Dan Tran commented on SUREFIRE-1546: Yes, we can consume the snapshot directly. Since this is production build, we also wonder when we can be out of snapshot mode > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16763471#comment-16763471 ] Tibor Digana commented on SUREFIRE-1546: [~dantran] Put this in your POM (`build` element). I hope this would be satisfactory. {code:xml} oss-sonatype oss-sonatype https://oss.sonatype.org/content/repositories/snapshots/ true always ignore {code} > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16763467#comment-16763467 ] Tibor Digana commented on SUREFIRE-1546: No. Not yet, because this may break the users after a new config possibilities. One version with this behavior and another experience in later version. If you really like this preliminary result, you can use the SNAPSHOT version which is deployed at {{repository.apache.org}} Nexus. Currently {{SUREFIRE-1585}} (JUnit5 feature) is going be finished with more unit tests and then {{SUREFIRE-1222}}. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16763134#comment-16763134 ] Dan Tran commented on SUREFIRE-1546: "By default, there would be current behavior." this is good news for us be able to replace testcase name for the display name. Can we have M4 release rolling out? > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16758929#comment-16758929 ] Tibor Digana commented on SUREFIRE-1546: By default there would be current behavior. By changing configuration, the user may enable the place where the display names would be printed: + in XML (classname, name) + in logs (<>, <>) on the first line The configuration would not be a trivial parameter. It will be an object implementing Java interface and user would be able to implement it. We call it extensions. The reason is to expose Surefire internals for user and reimplement it without asking us in ASF to do it. I would like to expose {{StatelessXmlReporter}} as an array or a collection of reporters and let the user to implement e.g. JSON for JUnit5. {code:xml} call some setters here if really necessary - see the constructor but the constructor should be wrapped in context object {code} > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16758909#comment-16758909 ] Dan Tran commented on SUREFIRE-1546: what is the final verdict? what is the format of adding display name to std-out: displayName= ? > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16758735#comment-16758735 ] Tibor Digana commented on SUREFIRE-1546: > I strongly suggest to not alter the XML format used by Ant/Surefire in an > incompatible manner. Dan is not aiming for a new format. As I have understood him, he wants to keep the current XSD but only alter values (real or display). I guess these users want to use User Scenario of BDD instead of real class name like it is in Spock and every class is testing another scenario. Personally I would prefer having new attributes and Jenkins plugins upgrades but users do not require that right now however it can be added as late as possible. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16758474#comment-16758474 ] Christian Stein commented on SUREFIRE-1546: --- Having a config parameter that allows display name in said places of the generated XML and TXT files ... calls for troubles. But it might be a short-term solution. A long-term solution is to be designed and implemented here: [https://github.com/ota4j-team/opentest4j/issues/9] – you're very welcome to join the effort. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16758478#comment-16758478 ] Dan Tran commented on SUREFIRE-1546: correction, we are not parsing the content of display name but for reporting purpose only. And also agree, we must not break the compatibility so using an additional surefire config should be perfect for us > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16758470#comment-16758470 ] Christian Stein commented on SUREFIRE-1546: --- Display names are not intended and are not even able to be used reliably as suggested by [~dantran] – see this [TestIdentifier.html#getDisplayName()|https://junit.org/junit5/docs/current/api/org/junit/platform/launcher/TestIdentifier.html#getDisplayName()] documentation: {quote}A _display name_ is a human-readable name for a test or container that is typically used for test reporting in IDEs and build tools. Display names may contain spaces, special characters, and emoji, and the format may be customized by [{{TestEngines}}|https://junit.org/junit5/docs/current/api/org/junit/platform/engine/TestEngine.html] or potentially by end users as well. Consequently, display names should never be parsed; rather, they should be used for display purposes only. {quote} Using display name in place like {{}} will lead to problems. Users may provide a single shard display name for all containers and tests... or down-stream tools might rely on having "real" Java class names and method names here. {quote}We plan to print display name in std-out and std-err. {quote} This is the option chosen by the JUnit Team. It attaches the arbitrary display name to the report entry of the originating source. So, down-stream tools can extract from here. Find the sources of our soon released XML writer at GitHub, and the lines related to new attributes (like unique-id and displayName) here: https://github.com/junit-team/junit5/blob/master/junit-platform-reporting/src/main/java/org/junit/platform/reporting/legacy/xml/XmlReportWriter.java#L279-L280 I strongly suggest to *not* alter the XML format used by Ant/Surefire in an incompatible manner. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16758459#comment-16758459 ] Tibor Digana commented on SUREFIRE-1546: [~thuybdo] [~dantran] ok, so, it looks like you do not want to wait for a new XSD updates and Jenkins plugin, and we should alter the behavior in config parameters. Is this right? > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16758437#comment-16758437 ] Thuy Do commented on SUREFIRE-1546: --- I second Dan's request. Having a DisplayName is crucial to my team's test automation. We use the DisplayName to generate report. Please either keep the implementation or provide an option to use it. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16758396#comment-16758396 ] Tibor Digana commented on SUREFIRE-1546: We have two options. First we would add an extension as a new config parameter with a complex object where all these alternatives can be switched on. Second, add two more XML attributes (displayedName, displayedSourceName). But here we already placed XSD version {{3.0}}. It would be nice to align version of XSD with version of plugin but it is not mandatory for me. In this case xUnit plugin has to be announced again. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16758382#comment-16758382 ] Dan Tran commented on SUREFIRE-1546: For reporting purpose. We parse TEST-*.xml under target/surefire-report to render the report at Micro Focus quality center. So having displayName to replace the actual testcase's name and classname are so crucial for us. {code:java} {code} It works > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16757999#comment-16757999 ] Tibor Digana commented on SUREFIRE-1546: [~dantran] How you expect to use the string of display name? In Report XML or file name of the report XML? Currently it is like that but it should not be. The reports should be unique as the Java test class names are. We plan to print display name in {{std-out}} and {{std-err}}. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16755320#comment-16755320 ] Dan Tran commented on SUREFIRE-1546: tested 3.0.0-M4-SNAPSHOT, looking forward to M4 release. Many thanks > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16753567#comment-16753567 ] Tibor Digana commented on SUREFIRE-1546: [~dantran] Pls use the snapshot repository for plugins with url https://repository.apache.org/content/groups/snapshots > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16753514#comment-16753514 ] Tibor Digana commented on SUREFIRE-1546: [~dantran] Deployment is in progress https://builds.apache.org/job/maven-box/job/maven-surefire/job/deployment/1/ > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16753392#comment-16753392 ] Dan Tran commented on SUREFIRE-1546: @Tibor please deploy new snapshot at https://repository.apache.org/content/groups/snapshots/org/apache/maven/plugins/maven-surefire-plugin > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Tibor Digana >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M4 > > Time Spent: 20m > Remaining Estimate: 0h > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16727996#comment-16727996 ] Tibor Digana commented on SUREFIRE-1546: I've got working solution in the branch https://gitbox.apache.org/repos/asf?p=maven-surefire.git;a=shortlog;h=refs/heads/SUREFIRE-1546-dispname > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Christian Stein >Priority: Major > Labels: junit5 > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16716792#comment-16716792 ] Tibor Digana commented on SUREFIRE-1546: [~dantran] Some work has been done in [1] but I have objections to the change done in {{SimpleReportEntry}}. The string possibly should be passed to the current place where normally resides the method name. We do not have an IT which could drive us towards the implementation. Any volunteer to open a pull request on GitHub and collaborate on the implementation? [1] https://gitbox.apache.org/repos/asf?p=maven-surefire.git;a=shortlog;h=refs/heads/SUREFIRE-1546-ReportEntry-DisplayName [~OKrutova] I would assign release version after we have got the implementation and a consensus in a review. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Christian Stein >Priority: Major > Labels: junit5 > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16716519#comment-16716519 ] Dan Tran commented on SUREFIRE-1546: is this scheduled for 3.0 surefire? > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Christian Stein >Priority: Major > Labels: junit5 > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16649494#comment-16649494 ] Tibor Digana commented on SUREFIRE-1546: [~OKrutova] [~sor] This week we released a new version 2.22.1 and now we are busy with oss activities in Maven and JUnit5. It's truth that we have a code for this feature in a branch but we are in progress with coding it and making code review. We need to meet on Slack and continue. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Christian Stein >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M1 > > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16643570#comment-16643570 ] Olga Krutova commented on SUREFIRE-1546: Could you please indicate approximate date of the [3.0.0-M1|https://issues.apache.org/jira/issues/?jql=project+%3D+SUREFIRE+AND+fixVersion+%3D+3.0.0-M1] release. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Christian Stein >Priority: Major > Labels: junit5 > Fix For: 3.0.0-M1 > > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. > > Origin: https://github.com/junit-team/junit5/issues/990 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16614492#comment-16614492 ] Christian Stein commented on SUREFIRE-1546: --- Search [https://github.com/junit-team/junit5/blob/master/junit-platform-console/src/main/java/org/junit/platform/console/tasks/XmlReportWriter.java] for usages of `getDisplayName()` and `getLegacyReportingName()` > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Christian Stein >Priority: Major > Labels: junit5 > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16614409#comment-16614409 ] Christian Stein commented on SUREFIRE-1546: --- ...and store the display name in a new field of its `ReportEntry`. The display name then can be used for _display_, and for linking report entries the unique class and method names can still be used. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Christian Stein >Priority: Major > Labels: junit5 > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SUREFIRE-1546) JUnit 5 runner does not honor JUnit 5 display names
[ https://issues.apache.org/jira/browse/SUREFIRE-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16614398#comment-16614398 ] Marc Philipp commented on SUREFIRE-1546: Technically, Surefire should not look for the @DisplayName annotation but use `TestIdentifier.getDisplayName()`. > JUnit 5 runner does not honor JUnit 5 display names > --- > > Key: SUREFIRE-1546 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1546 > Project: Maven Surefire > Issue Type: Bug >Affects Versions: 2.22.0 >Reporter: Romain Manni-Bucau >Assignee: Christian Stein >Priority: Major > Labels: junit5 > > JUnit 5 runner should respect the test @DisplayName instead of displaying the > classname if any is defined. Seems last release doesn't support that feature > of JUnit 5 making the console output and reports not the expected ones. -- This message was sent by Atlassian JIRA (v7.6.3#76005)