Como testar um módulo de implementação de provedor de serviços com o Junit 5?

Este é o meu módulo base que precisa de implementações de interfaces definidas no pacote myspi. Vários provedores podem oferecer implementações MyProvider. O módulo base os utiliza via implementação da interface myspi.MyProvider.

module base {
    exports myspi;
    uses myspi.MyProvider;
}

Este é o meu módulo de implementação de amostra que fornece a implementação MyProvider com MyProviderImpl

module myspi.provider {
    provides myspi.MyProvider with myspi.provider.MyProviderImpl;
}

Tudo isso funciona bem quando eu carrego as implementações no módulo base, com

public static List<MyProvider> getMyProviders() {
        var myProviders = new ArrayList<MyProvider>();
        for (MyProvider myProvider : ServiceLoader.<MyProvider>load(MyProvider.class)) {
            myProviders.add(myProvider);
        }
        return myProviders;
    }

Mas o mesmo código retorna a lista vazia no código de teste do Junit 5 (ServiceLoader retorna nulo). Como posso testar os módulos do provedor de serviços com o Junit 5. Ou existe alguma alternativa ao Junit que nos permita criar módulos de teste (API de teste modularizado) que declara "usa myspi.MyProvider" nas informações do módulo e funciona bem com getMyProviders ( )?

questionAnswers(2)

yourAnswerToTheQuestion