gpt4 book ai didi

java - 使用 REST-assured 在测试中重置连接

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:05:23 25 4
gpt4 key购买 nike

我有一个使用 REST-assured 的测试。在此测试中,当我将完整主机和路径传递给 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

我做错了什么? :(

最佳答案

您是否在短时间内提出了很多请求?你可以试试 closing idle connections after each request和/或 reuse the HTTP Client instance用于多个请求。

关于java - 使用 REST-assured 在测试中重置连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22501377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com