Wie bekomme ich die Instanz von javax.ws.rs.core.UriInfo

9

Gibt es eine Implementierung von javax.ws.rs.core.UriInfo , mit der ich eine Instanz schnell zum Testen erstellen kann? Diese Schnittstelle ist lang, ich muss nur etwas testen. Ich möchte keine Zeit mit der gesamten Implementierung dieser Schnittstelle verschwenden.

UPDATE: Ich möchte einen Komponententest für eine ähnliche Funktion schreiben:

%Vor%     
Syed Aqeel Ashiq 24.04.2015, 09:43
quelle

3 Antworten

11

Sie injizieren es einfach mit der Annotation @Context als Feld- oder Methodenparameter.

%Vor%

Anders als Ihre Ressourcenklassen kann es auch in andere Anbieter eingefügt werden, wie ContainerRequestContext , ContextResolver , MessageBodyReader etc.

BEARBEITEN

  

Eigentlich möchte ich einen Junit-Test für eine ähnliche Funktion wie deine doSomthing () -Funktion schreiben.

Ich habe das in Ihrem Post nicht abgeholt. Aber ein paar Optionen, die ich mir für Unit-Tests vorstellen kann

  1. Erstellen Sie einfach einen Stub und implementieren Sie nur die Methoden, die Sie verwenden.

  2. Benutze ein Mocking-Framework wie Mockito und spotte das UriInfo . Beispiel

    %Vor%

    Sie müssen diese Abhängigkeit hinzufügen

    %Vor%

Wenn Sie einen Integrationstest durchführen möchten, bei dem die tatsächliche UriInfo-Komponente injiziert wird, sollten Sie sich das Jersey Test Framework ansehen

Hier ist ein komplettes Beispiel mit dem Jersey Test Framework

%Vor%

Fügen Sie einfach diese Abhängigkeit hinzu

%Vor%

Es verwendet einen In-Memory-Container, der für kleine Tests am effizientesten ist. Es gibt weitere Container mit Servlet-Unterstützung, falls erforderlich. Sehe einfach den Link, den ich oben gepostet habe.

    
Paul Samsotha 24.04.2015, 09:52
quelle
0

Sie verspotten es oder verwenden etwas wie Ссылка

    
Friso 24.04.2015 10:38
quelle
0

Ich habe Integrationstests geschrieben, also kann ich keine Mocks verwenden

Ich habe einen Code für Trikot-Tests verwendet

Ссылка

%Vor%

und

%Vor%

Wenn Sie Fehler bei Anforderungsbereichsbeans erhalten, lesen Sie scoped bean im Frühling testen

    
Kalpesh Soni 11.10.2016 17:32
quelle