1
J'essaie de simuler un champ privé dans ma classe qui est initialisé par un conteneur OSGI dans lequel mon application est en cours d'exécution. Je mets un exemple de code pour référence, aucun indice sur ce s'il vous plaît:Champ privé fictif initialisé par le conteneur OSGI Felix
import org.apache.felix.scr.annotations.*
@Component (name = "MyServiceImpl ", ds = true, immediate = true)
@Service
public class MyServiceImpl extends MyBasee implements MyService {
@Reference (name = "MyOtherService", bind = "bind", unbind = "unbind", policy = ReferencePolicy.STATIC)
private MyOtherService myServiceRegistryConsumer;
}
Ici, je suis en train de se moquer de champ privé MyOtherService myServiceRegistryConsumer
J'ai édité ma question pour plus de clarté. De cette façon, je n'aurai aucun contrôle sur le domaine privé myServiceRegistryConsumer. Je ne veux pas injecter/simuler MyServiceImpl mais MyOtherService, qui est instancié par conteneur. – Arun
@Arun 'myServiceImpl' n'est pas un simulacre ici. Mockito se moque seulement de 'myServiceRegistryConsumer' et l'injecte dans l'instance. Dans une méthode de test, vous avez toujours un contrôle total sur le simulacre et vous pouvez définir un comportement pour celui-ci. –
Oui, en travaillant exactement comme vous l'avez expliqué. Merci beaucoup :) – Arun