Xray-App / xray-junit-extensions

Enhanced JUnit 5 integration with Xray Test Management for Jira
Eclipse Public License 2.0
16 stars 8 forks source link

ParameterizedTests with a `name` attribute are not being properly handled #33

Open bitcoder opened 1 year ago

bitcoder commented 1 year ago

Parameterized tests can be annotated with @ParameterizedTest; additionaly, it's possible to specify a custom name for each parameterized test.

    @ParameterizedTest(name="#{index} - Test with Argument={0}")
    @ValueSource(strings = {"John Doe", "Jimi Hendrix"})
    public void parameterizedTestWithCustomName(String name)
    {
       // ...
    }

When the name is defined, it can even mention the DisplayName in case that annotation has also been used.

    @DisplayName("custom DisplayName")
    @ParameterizedTest(name="{displayName}: #{index} - Test with Argument={0}")
    @ValueSource(strings = {"John Doe", "Jimi Hendrix"})
    public void parameterizedTestWithCustomNameAndDisplayName(String name)
    {
        fail("test failed on purpose");
    }

The executed tests should produce different testcases with proper test_summary properties. For the time being, the testcases will be identified by the same name, but each one will have a specific test_summary property using the name defined with the @ParameterizedTest annotation and its name attribute.

bitcoder commented 1 year ago

To evaluate: should the displayname, in any/some cases, be mapped to the <testcase> name attribute?

nmoreira commented 1 year ago

Any plans for a release with this fix? It would be much appreciated.

bitcoder commented 1 year ago

Any plans for a release with this fix? It would be much appreciated.

Not yet. This needs some additional thought and more testing. You can try the code on the fix attempt and see how it works for you. Feedback and testing is highly appreciated