gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 13:51:12 25 4
gpt4 key购买 nike

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

虽然看起来容器正常旋转,但请放心(其他任何东西似乎都无法触及它。

我总是收到 Connection denied 异常。

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 通过并打印它应该的内容,但是 test2 得到 Connection refused 异常。

你知道这个设置有什么问题吗?

最佳答案

我会自己回答这个问题..

在花费额外的时间后,发现 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);
}

}

我本可以发誓我以前尝试过这样做...但我想我确实使用了其他一些注释...

关于java - 使用 restAssured 测试 Spring Boot Rest 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40665315/

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