2016-05-04 7 views
2

Ich würde gerne sehen, welche URL Ruhe versichert für den Test erstellt hat.
Mein Code ist ziemlich Vanille.Rest Assured Ausgabe: print URL

Aber die Ausgabe ist ein Haufen von einem Stack-Trace, der mir nicht einmal sagt, was die Ziel-URL war.

checkServer 
"java.lang.AssertionError: 1 expectation failed. 
Expected status code <200> doesn't match actual status code <500>. 

    at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:235) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:247) 
    at com.jayway.restassured.internal.ResponseSpecificationImpl$HamcrestAssertionClosure.validate(ResponseSpecificationImpl.groovy:598) 
    at com.jayway.restassured.internal.ResponseSpecificationImpl$HamcrestAssertionClosure$validate$1.call(Unknown Source) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) 
    at com.jayway.restassured.internal.ResponseSpecificationImpl.validateResponseIfRequired(ResponseSpecificationImpl.groovy:760) 
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210) 
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166) 
    at com.jayway.restassured.internal.ResponseSpecificationImpl.statusCode(ResponseSpecificationImpl.groovy:120) 
    at com.jayway.restassured.specification.ResponseSpecification$statusCode$0.callCurrent(Unknown Source) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166) 
    at com.jayway.restassured.internal.ResponseSpecificationImpl.statusCode(ResponseSpecificationImpl.groovy:128) 
    at com.jayway.restassured.internal.ValidatableResponseOptionsImpl.statusCode(ValidatableResponseOptionsImpl.java:117) 
    at org.mystuff.EnvironmentCheck.checkServer(EnvironmentCheck.java:43) 
    at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:281) 
    at org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:75) 
    at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:121) 
    at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290) 
    at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242) 
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121) 
... Removed 31 stack frames 



Wie würde ich über das gehen?

+0

Bitte senden Sie das Stack-Trace. :) –

+0

Danke für die Stack-Trace. –

Antwort

1

Es sieht so aus, als ob Ihre Anfrage die Standard-Host- und Port-Nummer verwendet. Von https://github.com/jayway/rest-assured/wiki/Usage#default-values: "Standardmäßig setzt REST assured Host localhost und Port 8080 voraus, wenn eine Anfrage ausgeführt wird."

Wenn Sie tatsächlich sehen möchten, was RESTAssured sendet, anstatt nur zu folgern, finden Sie unter https://github.com/jayway/rest-assured/wiki/Usage#request-logging, die eine verweist auf http://hc.apache.org/httpcomponents-client-ga/logging.html, um zu sehen, "was tatsächlich auf der Leitung gesendet wird." Dieses Dokument unter "Konfigurationsbeispiele" bietet verschiedene Optionen zum Aktivieren der HttpClient-Kommunikationsprotokollierung.

Von diesem Dokument, die eine schnelle Lösung am besten auf Ihre Frage senden die „wire + Kontext aktivieren Header Logging - Best für Debugging“ sein Satz von JVM-Systemeigenschaften:

-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog 
-Dorg.apache.commons.logging.simplelog.showdatetime=true 
-Dorg.apache.commons.logging.simplelog.log.org.apache.http=DEBUG 
-Dorg.apache.commons.logging.simplelog.log.org.apache.http.wire=ERROR` 
+0

Kein Problem, aber meine Frage ist, wie drucke ich die Ziel-URL? – MonoThreaded

+0

Sie sollten dann in Ihrer Frage wahrscheinlich spezifischer sein. :) Mentale URL-Konstruktion ist eine Möglichkeit, die Anfrage-URL zu "sehen". –

Verwandte Themen