当前位置: 首页 > 知识库问答 >
问题:

测试Spring启动Rest应用程序与restAsure

杜俭
2023-03-14

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

虽然看起来容器旋转得很好,但请放心(其他任何东西似乎都有问题。

一直以来我都被拒绝连接。

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正在获得连接拒绝异常。

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

共有3个答案

方浩旷
2023-03-14

你在一些非标准端口上运行吗?你在你的

@在公共静态无效init()之前{RestAssured.baseURI="http://localhost "; // 根据需要替换RestAssured.port=8080;}

许法
2023-03-14

基于https://stackoverflow.com/users/2838206/klubi回答并不要为每个请求设置端口:

@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);
    }
}
漆雕奇逸
2023-03-14

我自己来回答这个问题。。

在花了额外的时间之后,结果发现TestRestTemboard已经知道并设置了正确的端口。RestAsure不...

有了这一点,我达到了以下测试运行没有任何问题的程度。

@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);
    }

}

我可以发誓我以前试过这样做。。。但我想我确实用了一些其他的注释。。。

 类似资料:
  • 尝试完成Spring Boot教程:https://Spring.io/guides/gs/spring-boot/#initial 以下是我的课程: 和pom.xml: 当我尝试使用以下命令运行它时:“mvn package&&java-jar target/gs-spring-boot-0.1.0.jar”,我得到的是: “-dmaven.home=C:\program files\jetbr

  • 使用spring-boot时,一切工作都很好。尽管如此,在spring-boot中已删除了注释和。我试图将代码重构为新版本,但我做不到。对于以下测试,我的应用程序在测试之前没有启动,http://localhost:8080返回404: 如何重构测试以使其在Spring-Boot1.5中工作?

  • 我正在尝试测试以下控制器: 下面是测试类: 当我运行测试失败,并给我以下消息: 当我测试的url正常工作。

  • 我试图运行简单的Spring Data Rest Boot应用程序(v1.2.3. RELEASE),只有一个小的修改从工作Spring参考示例应用程序(http://spring.io/guides/gs/accessing-mongodb-data-rest/),它无法启动。 更具体地说,当我使用: 下面是简单的代码配置: 在没有其他任何问题的情况下,我在启动时遇到以下错误: 2015-04-

  • 我正在尝试将测试添加到我的Spring Boot应用程序,但当我这样做时,应用程序无法启动。 我有一个自定义的jwt授权类来验证jwt,我不确定这是否会导致任何问题? 以下是我使用服务器的安全配置类: 下面是堆栈跟踪: 不知道从哪里开始,我在这里没有找到任何解决的线程。请向我解释一下,将不胜感激! 编辑:我有一个常规app.properties: 还有一个正在测试/资源:

  • 我在intellij上启动spring boot应用程序时遇到问题,它失败了,并显示以下消息:与目标VM断开连接,地址:'127.0.0.1:49784',传输:'socket' 过程结束,退出代码为255。以前有人遇到过这种情况吗?