Essais de méthode protégée avec JUnit

Je suis en train de tester une méthode qui est protected. Dans mon cas de test, j'ai utilisé Reflection pour accéder à la méthode, mais je ne suis pas exactement sûr de savoir si je suis en train de faire dans un droit chemin.

Méthode à tester:

protected void checkORCondition( Map<String, Message> messagesMap ) throws EISClientException
{
    Message message = containsAMessageCode(getMessageCodes(), messagesMap);
    if(message!=null)
    {
        throw new EISClientException("One of the specified message code matched returned errors." + 
                message.getMessageCode() + ": " + message.getMessageType() + ": " + message.getMessageText());

    }
}

Cas de test JUnit:

@Test
public void testcheckORCondition() throws Exception {
    Class clazz = MessageToExceptionPostProcessFilter.class;
    Object object = clazz.newInstance();

    Method method = clazz.getDeclaredMethod("checkORCondition", new Class[]{Map.class});
    method.setAccessible(true);

    String string = new String();
    string = "testing";

    Message message = new Message();
    message.setMessageCode("200");

    Map<String, Message> map = new HashMap<String, Message>();
    map.put(string, message);

    assertEquals("testing", string);
    assertEquals("200", message.getMessageCode());  
}

Mon JUnit passe, mais vous ne savez pas si il va à l'intérieur de la méthode.

  • Avez-vous d'autres méthodes dans la même classe que l'appel de la méthode protégée? Il est acceptable, il suffit de tester les méthodes publiques dans une classe, puisque celles-ci doivent définir le comportement de l'objet.
InformationsquelleAutor | 2016-02-03