使用restAssured测试Spring Boot Rest应用程序

我已经为此苦了一段时间了。我想使用restAssured测试我的SpringBoot REST应用程序。

尽管看起来容器可以正常旋转,但是请放心(其他任何问题似乎都难以解决。

我一直在获得Connection拒绝异常。

java.net.ConnectException: Connection refused

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)

at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)

at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

at java.net.Socket.connect(Socket.java:589)

...

我的测试课:

@RunWith(SpringRunner.class)

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

public class SizesRestControllerIT {

@Autowired

private TestRestTemplate restTemplate;

@Test

public void test() {

System.out.println(this.restTemplate.getForEntity("/clothes", List.class));

}

@Test

public void test2() throws InterruptedException {

given().basePath("/clothes").when().get("").then().statusCode(200);

}

}

现在对于怪异的部分,test传递并打印它应该显示的内容,但是却导致test2Connection拒绝异常。

任何想法此设置有什么问题吗?

回答:

我会自己回答这个问题。

在花费了额外的时间后,事实证明TestRestTemplate已经知道并设置了正确的端口。RestAssured没有…

这样我就可以进行下面的测试了,没有任何问题。

@RunWith(SpringRunner.class)

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

public class SizesRestControllerIT {

@LocalServerPort

int port;

@Before

public void setUp() {

RestAssured.port = port;

}

@Test

public void test2() throws InterruptedException {

given().basePath("/clothes").get("").then().statusCode(200);

}

}

我本可以发誓以前尝试过这种方式…但是我想我确实为此使用了其他一些注释…

以上是 使用restAssured测试Spring Boot Rest应用程序 的全部内容, 来源链接: utcz.com/qa/414239.html

回到顶部