Ho sviluppato una webapp di Spring MVC con metodi di riposo. Mi piacerebbe utilizzare RestAssured per creare classi di test JUnit. Dalla documentazione sembra davvero semplice da fare, ma ho invece qualche problema. Fondamentalmente voglio usarlo per evitare un runtime istanza di Tomcat, ma il problema è che quando eseguo la classe di test JUnit ottengo la seguente eccezione:RestAssuredMockMvc Connessione a http: // localhost: 8080 rifiutato
org.apache.http.conn.HttpHostConnectException: Connection to http://localhost:8082 refused
...
Caused by: java.net.ConnectException: Connection refused
Questa è la mia classe JUnit:
import static com.jayway.restassured.RestAssured.given;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.web.context.WebApplicationContext;
import com.jayway.restassured.module.mockmvc.RestAssuredMockMvc;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"file:src/test/resources/spring/application-test-config.xml"})
@WebAppConfiguration
public class ExternalControllerTest {
private static final Logger logger = LoggerFactory.getLogger(ExternalControllerTest.class);
@Autowired
WebApplicationContext webApplicationContext;
@Before
public void setUp() throws Exception {
RestAssuredMockMvc.webAppContextSetup(webApplicationContext);
}
@Test
public void addClientDeviceId_Success() {
given().get("/api/test").then().statusCode(200);
}
}
ho anche provato a configurare RestAssuredMockMvc direttamente con la classe controller, ma il risultato è lo stesso:
RestAssuredMockMvc.standaloneSetup(new ExternalController());
il controller sembra che:
0.123.In questa guida, http://www.jayway.com/2014/01/14/unit-testing-spring-mvc-controllers-with-rest-assured/ viene specificato che "L'aspetto più importante è che è più semplice avviare l'ambiente. Non è necessario eseguire il bootstrap di un contenitore (ad esempio Jetty o Tomcat), è sufficiente inizializzare RestAssuredMockMvc con un contesto (ad esempio un controller) e si è pronti per andare. "Quindi non capisco dove sia il problema. ogni suggerimento?
Il file di guerra schierato con Tomcat funziona bene. Grazie