使用restAssured测试Spring Boot Rest应用程序
我已经为此苦了一段时间了。我想使用restAssured测试我的SpringBoot REST应用程序。
尽管看起来容器可以正常旋转,但是请放心(其他任何问题似乎都难以解决。
我一直在获得Connection拒绝异常。
java.net.ConnectException: Connection refusedat 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拒绝异常。
任何想法此设置有什么问题吗?
回答:
我会自己回答这个问题。
在花费了额外的时间后,事实证明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