У меня есть тест с использованием REST-гарантии. В этом тесте, когда я передаю полный хост и путь к методу get(), все идет нормально, тест проходит. Но когда я пытаюсь использовать RestAssured.baseURI и RestAssured.basePath, как показано в этой части руководства: http://code.google.com/p/rest-assured/wiki/Usage#Default_values, проверка завершается сбросом подключения. Ниже я вставляю рабочую версию и версию с baseURI, которая не работает, и получаю сообщение об ошибке. Помогите пожалуйста :>
Рабочая версия:
import com.jayway.restassured.RestAssured;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import java.util.Iterator;
import static com.jayway.restassured.RestAssured.basic;
import static com.jayway.restassured.RestAssured.given;
import static org.hamcrest.Matchers.containsString;
public class SomeTest {
@Test(dataProvider = "provideData")
public void doSomeTest(String someParameter, String someExpectedValue) {
given().
auth().basic("login", "pass").
param("someParameter", someParameter).
when().
get("http://some.host/some-base-path/some-path-relevant-in-test").
then().
statusCode(200).
body("some json", containsString(someExpectedValue)).
log().ifError();
}
@DataProvider(name = "provideData")
public Iterator<Object[]> provideData() {
//this provides data for test method in irrelevant way
}
}
Не рабочая версия, которая приводит к сбросу соединения:
import com.jayway.restassured.RestAssured;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import java.util.Iterator;
import static com.jayway.restassured.RestAssured.basic;
import static com.jayway.restassured.RestAssured.given;
import static org.hamcrest.Matchers.containsString;
public class SomeTest {
@Test(dataProvider = "provideData")
public void doSomeTest(String someParameter, String someExpectedValue) {
RestAssured.baseURI = "http://some.host";
RestAssured.basePath = "/some-base-path";
given().
auth().basic("login", "pass").
param("someParameter", someParameter).
when().
get("/some-path-relevant-in-test").
then().
statusCode(200).
body("some json", containsString(someExpectedValue)).
log().ifError();
}
@DataProvider(name = "provideData")
public Iterator<Object[]> provideData() {
//this provides data for test method in irrelevant way
}
}
Ошибка:
mar 19, 2014 10:26:01 AM org.apache.http.impl.client.DefaultRequestDirector tryExecute
INFO: I/O exception (java.net.SocketException) caught when processing request: Connection reset
mar 19, 2014 10:26:01 AM org.apache.http.impl.client.DefaultRequestDirector tryExecute
INFO: Retrying request
Что я делаю не так? :(