2016-06-08 14 views
0

Ich habe einen Testfall für eine Klasse geschrieben, die eine Schnittstelle implementiert. Grundsätzlich prüfe ich die überschriebenen Methoden und Testläufe. Auf dem Cobertura-Bericht zeigt public class ROSConsumerConnectorRequest implements IConnectorRequest<ROSNotificationRequest> rot.JUnit und Cobertura

Klasse im Test:

public class ROSConsumerConnectorRequest implements IConnectorRequest<ROSNotificationRequest> 

JUnit-Test:

@Test 
public void test() { 
    ROSConsumerConnectorRequest req = new ROSConsumerConnectorRequest(); 
    ROSNotificationRecipient recipient = new ROSNotificationRecipient(); 
    ROSNotificationRequest request = new ROSNotificationRequest(); 
    req.setRecipient(recipient); 
    req.setRequest(request); 

    assertTrue(req instanceof IConnectorRequest); 
    assertEquals(request, req.getRequest()); 
    assertEquals(recipient, req.getRecipient()); 
} 

Nur die oben genannte Linie zeigt in einem roten. Wie kann ich diese Linie abdecken?

Dank

+0

Ich denke, Sie möchten IConnectorRequest req = neue ROSConsumerConnectorRequest(); auf der linken Seite statt ROSConsumerConnectorRequest req = new ROSConsumerConnectorRequest(); – Dale

+0

Das Problem ist, dass ich nicht in der Lage bin, setRecipient und setRequest-Methoden mit dem Punktoperator aufzurufen. –

Antwort

0

Sie können die Methoden für die geschützten Setter machen und einfach in dem gleichen Paket geschnürt, aber in einer anderen Verzeichnisstruktur (zum Beispiel Test) Das ist, was ich tue, Methoden zu testen und nicht öffentlich scoped.

+0

Verstanden. Danke Dale. –

+0

Ehrfürchtig. Froh, dass geholfen hat! – Dale