2009-01-11 9 views
2

Je ne pouvais pas me moquer de la varibale protégée définie dans la superclasse.je pouvais être en mesure de se moquer de la méthode protégée en superclasse, mais ne pouvait pas mocker la variable protégée dans la sous-classe. sous-classe, S'il vous plaît si quelqu'un là-bas a n'importe quel soluton pour cela. S'il vous plaît répondre.moqueur de la variable protégée par superclasse en utilisant jmockit

Merci Shashi

Répondre

1

Tous outils se moquant que des méthodes de simulation. JMockit possède également des méthodes utilitaires qui permettent d'accéder à des champs, des méthodes et des constructeurs non accessibles à partir d'un test donné. Ils sont directement accessibles aux sous-classes mockit.Expectations et mockit.Verifications. Les mêmes méthodes sont également exposées dans la classe mockit.Deencapsulation statique.

3

Vous pouvez le faire en utilisant la méthode Deencapsulation.setField. Par exemple:

@Test public void staticVarOverride() { 
    MyClass myClass = new MyClass(); 
    Deencapsulation.setField(MyClass.class, "myStatic", 2); 
    // Assertions, verifications go here. 
} 

Cela définira la valeur de la variable myStatic statique 2. Notez que si cela fonctionnera pour statics, il ne fonctionnera pas pour les finales statiques. AFAIK il n'y a aucun moyen de remplacer les finales statiques.

Questions connexes