¿Cómo puedo probar un módulo de implementación del proveedor de servicios con Junit 5?
Este es mi módulo base que necesita implementaciones de interfaces definidas en el paquete myspi. Varios proveedores pueden ofrecer implementaciones de MyProvider. El módulo base los usa a través de la implementación de la interfaz myspi.MyProvider.
module base {
exports myspi;
uses myspi.MyProvider;
}
Este es mi módulo de implementación de muestra que proporciona la implementación MyProvider con MyProviderImpl
module myspi.provider {
provides myspi.MyProvider with myspi.provider.MyProviderImpl;
}
Todo esto funciona bien cuando cargo las implementaciones en el módulo base, con
public static List<MyProvider> getMyProviders() {
var myProviders = new ArrayList<MyProvider>();
for (MyProvider myProvider : ServiceLoader.<MyProvider>load(MyProvider.class)) {
myProviders.add(myProvider);
}
return myProviders;
}
Pero el mismo código devuelve una lista vacía en el código de prueba del 5 de junio (ServiceLoader devuelve nulo). ¿Cómo puedo probar los módulos del proveedor de servicios con Junit 5. O hay alguna alternativa a Junit que nos permita crear módulos de prueba (API de prueba modularizada) que declare "utiliza myspi.MyProvider" en la información del módulo y funciona bien con getMyProviders ( )