Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-11955

As a Java developer, I want to use JUnit5 to write unit tests

    • Icon: Feature Request Feature Request
    • Resolution: Fixed
    • Icon: L3 - Default L3 - Default
    • 7.17.0
    • None
    • None
    • None

      User story

      As a Java developer, I can use a Junit 5 extension that eases common tasks during test implementation, such as deploying process models.
       
      Background

      We are supporting JUnit3 and JUnit4 already. Have a look at ProcessEngineRule (https://github.com/camunda/camunda-bpm-platform/blob/master/engine/src/main/java/org/camunda/bpm/engine/test/ProcessEngineRule.java) for how it works for JUnit 4. JUnit 5 has a new extension mechanism (https://junit.org/junit5/docs/current/user-guide/#extensions) that is not compatible with JUnit 4 rules.

      Acceptance Criteria

      • There is a JUnit 5 extension that has the same features that ProcessEngineRule has

      Implementation hints

       

       

        This is the controller panel for Smart Panels app

            [CAM-11955] As a Java developer, I want to use JUnit5 to write unit tests

            Martin Gans added a comment -

            With JUnit 5 nearly 3 years out in the wild this feature is really a must-have. We would be glad seeing this in the near future.

            Martin Gans added a comment - With JUnit 5 nearly 3 years out in the wild this feature is really a must-have. We would be glad seeing this in the near future.

            Is there already a status update to this Feature Request? We would be glad to see the visualized test coverage also in JUnit 5.

            Thomas Winklmüller added a comment - Is there already a status update to this Feature Request? We would be glad to see the visualized test coverage also in JUnit 5.

            Hi thomas.winklmueller@allianz.de,

            Currently this ticket is not scheduled for implementation. As a customer, you can raise a feature requests in the support project to request prioritization.

            Assuming you are referring to https://github.com/camunda/camunda-bpm-process-test-coverage, please note that this is a community extension and is not covered by a feature request in the product. You can get in touch with the maintainers via the github issue tracker.

            Best regards,
            Thorben

            Thorben Lindhauer added a comment - Hi thomas.winklmueller@allianz.de , Currently this ticket is not scheduled for implementation. As a customer, you can raise a feature requests in the support project to request prioritization. Assuming you are referring to https://github.com/camunda/camunda-bpm-process-test-coverage , please note that this is a community extension and is not covered by a feature request in the product. You can get in touch with the maintainers via the github issue tracker. Best regards, Thorben

            DTAM WAM added a comment -

            Like this one: https://jira.camunda.com/browse/SUPPORT-8872 ? We are also interested in JUnit5 Support. Do you have any news on when this will be implemented?

            DTAM WAM added a comment - Like this one: https://jira.camunda.com/browse/SUPPORT-8872 ? We are also interested in JUnit5 Support. Do you have any news on when this will be implemented?

            Hi DTAM-WAM@postfinance.ch,

            Currently we have no plans of building this in the core product, but there is a community extension ready to use: https://github.com/camunda/camunda-bpm-junit5

            Cheers,
            Thorben

            Thorben Lindhauer added a comment - Hi DTAM-WAM@postfinance.ch , Currently we have no plans of building this in the core product, but there is a community extension ready to use: https://github.com/camunda/camunda-bpm-junit5 Cheers, Thorben

            DTAM WAM added a comment -

            Why does Camunda have no plans of allowing JUnit 5 tests but rather stick to JUnit 3/4? In a time where Spring Boot has already removed JUnit 4 support from spring-boot-starter-test as a paying customer we expect JUnit 5 support from Camunda. Our company builds mission critical processes and we expect our developers to be able to test these processes with least possible effort. As all our unit tests run on JUnit 5 and we now need special treatment for Camunda tests to run those using JUnit 4.

            And no, we have no plans to use a community extension that might be outdated in one year or is based on an old Camunda version. Furthermore, we do have several issues when running JUnit 4 and JUnit 5 process tests together. So its currently one or the other and as there is no support for community extensions we're stuck to JUnit 4.

            The Flowable BPM engine offers JUnit 5 support for a long time and again: as a paying customer we expect JUnit 5 support from Camunda in 2021. Everything else would indicate that Camunda is, firstly, not supporting the developers (and only trying to attract managers with new features in e.g. Optimize) and secondly, not considering unit testing the processes to be important.

            Why does Camunda not integrate all the best parts of the community extensions into their main product? With Spring Boot dropping JUnit 4 support we would like to hear the reasoning behind sticking to JUnit 4 at Camunda.

            DTAM WAM added a comment - Why does Camunda have no plans of allowing JUnit 5 tests but rather stick to JUnit 3/4? In a time where Spring Boot has already removed JUnit 4 support from spring-boot-starter-test as a paying customer we expect JUnit 5 support from Camunda. Our company builds mission critical processes and we expect our developers to be able to test these processes with least possible effort. As all our unit tests run on JUnit 5 and we now need special treatment for Camunda tests to run those using JUnit 4. And no, we have no plans to use a community extension that might be outdated in one year or is based on an old Camunda version. Furthermore, we do have several issues when running JUnit 4 and JUnit 5 process tests together. So its currently one or the other and as there is no support for community extensions we're stuck to JUnit 4. The Flowable BPM engine offers JUnit 5 support for a long time and again: as a paying customer we expect JUnit 5 support from Camunda in 2021. Everything else would indicate that Camunda is, firstly, not supporting the developers (and only trying to attract managers with new features in e.g. Optimize) and secondly, not considering unit testing the processes to be important. Why does Camunda not integrate all the best parts of the community extensions into their main product? With Spring Boot dropping JUnit 4 support we would like to hear the reasoning behind sticking to JUnit 4 at Camunda.

            Hello DTAM-WAM@postfinance.ch,

            Thank you for your feedback. I am sorry that the current situation is frustrating for you. We get a high number of feature requests and must prioritize carefully what we consider most valuable and useful for our user base and what we can deliver with our development resources. We definitely cosndier JUnit 5 support an important topic, however in the past we have ranked it lower than the other features we have delivered.

            To make this transparent: For 7.16 development in Q2/2021, we have ranked the following feature requests higher than JUnit 5 support: https://jira.camunda.com/issues/?jql=project%20%3D%20CAM%20AND%20issuetype%20%3D%20%22Feature%20Request%22%20AND%20fixVersion%20%3D%207.16.0

            Your input will help us make future prioritization decisions, however at this point we cannot promise an implementation in a particular quarter or with a particular release. For further discussion, I suggest you also reach out to your customer success manager leona.schlosser.

            Best regards,
            Thorben

            Thorben Lindhauer added a comment - Hello DTAM-WAM@postfinance.ch , Thank you for your feedback. I am sorry that the current situation is frustrating for you. We get a high number of feature requests and must prioritize carefully what we consider most valuable and useful for our user base and what we can deliver with our development resources. We definitely cosndier JUnit 5 support an important topic, however in the past we have ranked it lower than the other features we have delivered. To make this transparent: For 7.16 development in Q2/2021, we have ranked the following feature requests higher than JUnit 5 support: https://jira.camunda.com/issues/?jql=project%20%3D%20CAM%20AND%20issuetype%20%3D%20%22Feature%20Request%22%20AND%20fixVersion%20%3D%207.16.0 Your input will help us make future prioritization decisions, however at this point we cannot promise an implementation in a particular quarter or with a particular release. For further discussion, I suggest you also reach out to your customer success manager leona.schlosser . Best regards, Thorben

            Martin Gans added a comment -

            Spring Boot 2.5.0

            https://jira.camunda.com/browse/CAM-13086

             Java 15

            https://jira.camunda.com/browse/CAM-12103

            Quarkus IO

            https://jira.camunda.com/browse/CAM-11410

             

            All with JUnit 4 -> Does not compute...

            Martin Gans added a comment - Spring Boot 2.5.0 https://jira.camunda.com/browse/CAM-13086  Java 15 https://jira.camunda.com/browse/CAM-12103 Quarkus IO https://jira.camunda.com/browse/CAM-11410   All with JUnit 4 -> Does not compute...

              miklas.boskamp Miklas Boskamp
              andre.bappert Andre
              Miklas Boskamp Miklas Boskamp
              Votes:
              10 Vote for this issue
              Watchers:
              12 Start watching this issue

                Created:
                Updated:
                Resolved: