我正在尝试运行Junit测试用例来检查REST端点。每次都拒绝连接。我遇到an SO post,有人通过Spring注释设置端口来解决它。我试图尽可能地避免这种情况。有没有人在不使用Spring注释的情况下解决这个问题?当我在Wildfly服务器上运行它时,URL(在下面的错误中)可以正常工作。
public function getSitioPadre($id){
$padre = md_sitio_espacios::where([['SITIO_ESPACIOS_ID','=',$id]])->get()->toArray();
if($padre[0]["PADRE"] == 0){
return $padre[0]["SITIO_ESPACIOS_ID"];
}else{
return $this->getSitioPadre($padre[0]["PADRE"]); // should work better
}
}
错误
public class HelloServiceTest {
private static RequestSpecification spec;
@BeforeClass
public static void initSpec(){
spec = new RequestSpecBuilder()
.setContentType(ContentType.JSON)
.setBaseUri("http://localhost/")
.addFilter(new ResponseLoggingFilter())//log request and response for better debugging. You can also only log if a requests fails.
.addFilter(new RequestLoggingFilter())
.build();
}
@Test
public void emptyTest(){}
//https://blog.philipphauer.de/testing-restful-services-java-best-practices/
@Test
public void testGetUserInfo(){
given()
.spec(spec)
//.param("limit", 20)
.when()
.get("demoapi/rest/helloservice/json/103")
.then()
.statusCode(200);
// Response resp = client.target("http://localhost:8080/demoapi/rest/helloservice/json/103").request().get();
// assertEquals("login name: jbray", resp.toString());
}
答案 0 :(得分:0)
RestAssured junit集成将假定服务器已启动且应用程序已部署。这部分不是RestAssured的责任。您作为测试设置完成的RequestSpecification
部分只是在一个地方放置了一些常见的配置和可重复的测试规范。但是,您可以在示例中启动像Jetty这样的嵌入式服务器here作为测试设置的一部分。