Wie unit-Tests verketteten Methodenaufruf(s) mit Mockito

Arbeite ich an einem J2EE-Projekt und die Nutzung des JIRA REST Client.
Dieser client gibt eine Jira - issue Objekt.
Einige der Felder der Issue Klasse key, self, id, summary etc etc.
Die self hier im Feld ist im Grunde eine URI.

Für ZB http://jira.company.com/rest/api/2.0/issue/12345
Ich habe einen Anwendungsfall, in dem ich zum abrufen der host, die aus der URI angegeben.

Kann ich tun, dass durch so etwas wie issue.getSelf().getHost().

issue.getSelf() gibt ein Objekt vom type 'URI' und den Gastgeber kann ich einfach die getHost() Methode zur Verfügung gestellt von der URI Klasse gibt die host-url in String format.

Alles funktioniert einwandfrei.
Ich bin vor problem in unit-testing, dieses Stück code mit Mockito.
Ich weiß nicht, wie mock verkettete Methodenaufrufe.

Ich habe den folgenden code-snippet.

private static final String JIRA_HOST = "jira.company.com";
@Mock private com.atlassian.jira.rest.client.api.domain.Issue mockIssue;

@Before
    public void setup() {
        when(mockIssue.getSelf().getHost()).thenReturn(JIRA_HOST);
    }

Hier bin, bekomme ich eine Null Pointer Exception.

Nachdem ich viel Forschung, ich kam zu wissen, dass ich verwenden @Mock(answer = Answers.RETURNS_DEEP_STUBS) private com.atlassian.jira.rest.client.api.domain.Issue mockIssue;.

Aber das gibt mir auch ein Null Pointer Exception.

Kann mir jemand sagen wie ich verspotte verkettete Methodenaufrufe.

  • Können Sie erstellen eine stackoverflow.com/help/mcve mit dem tatsächlichen code und test-code wie wir.
  • Id, die Sie verstehen genau, den code-Schnipsel habe ich Hinzugefügt, um die Beschreibung umfasst die M, C und V Teile. Ich glaube nicht, es ist absolut notwendig, um in den code, nur um es ausführbar machen. Das code-snippet ist ausreichend, um die Frage zu beantworten. Ich sehe keinen triftigen Grund, warum jeder zusätzliche code sollte zur Verfügung gestellt werden (und ich werde auch nicht bieten) top Antwort auf meine Frage.
InformationsquelleAutor RITZ XAVI | 2016-12-12
Schreibe einen Kommentar