OpenMRS Core Master

Build: #2338 was successful Changes by teleivo <teleivo@users.noreply.github.com>

Stages & jobs

  1. Build and Test

  2. Deploy

  3. Release

    Requires a user to start manually

Code commits

openmrs-core

  • teleivo <teleivo@users.noreply.github.com>

    teleivo <teleivo@users.noreply.github.com> d5585afd4142a3facb1d12340e0c4588f0db6565

    TRUNK-5816 powermock reflect is enough for api tests
    to set the OpenmrsConstants for more info refer to
    bc4adc1efaa488c889d3fd2ab61f8178b7e704b4

    • api/pom.xml (version d5585afd4142a3facb1d12340e0c4588f0db6565)
  • teleivo <teleivo@users.noreply.github.com>

    teleivo <teleivo@users.noreply.github.com> bc4adc1efaa488c889d3fd2ab61f8178b7e704b4

    TRUNK-5816 Do not allow PowerMock tests in api package
    since PowerMock does not run on JUnit 5 see
    https://github.com/powermock/powermock/issues/929

    we should prevent new contributions from adding tests written with
    PowerMock

    We still rely on powermock-api-mockito2 to set the

    public static final String OPENMRS_VERSION

    of OpenmrsConstants during testing.

    There might also be a way to replace this usage and simply use
    reflection. That could be investigated at a later point.

    Most importantly for our migration to JUnit 5 is that we prevent JUnit 4
    tests (and therefore also PowerMock tests) from entering openmrs-core.

    We should in general avoid reaching for services via the static Context
    methods since that makes testing in isolation hard. Springs dependency
    injection allows us to wonderfully configure our services during testing
    and production. This is what we need to leverage instead of static
    methods that need PowerMock during testing. This also just hides the
    fact that a Service has certain dependencies and is an easy way out in
    designing our system.

    • api/pom.xml (version bc4adc1efaa488c889d3fd2ab61f8178b7e704b4)