Java @给出Postrges通信异常的主类的SpringBootTest

Java @给出Postrges通信异常的主类的SpringBootTest,java,junit5,spring-boot-test,Java,Junit5,Spring Boot Test,我试图用junit5测试Springboot主类的代码覆盖率。但我得到了: org.postgresql.util.PSQLException:连接到127.0.0.1:5432 拒绝了 首先,您将问题标记为junit5,因此我假设您使用的是junit5。 对于v5,您不应该使用@RunWith注释([源代码]) 其次,您不应该在测试中运行main方法!SpringBootTest注释已经启动了一切!请阅读有关测试Spring引导应用程序的说明。当您使用start.spring.io生成一个新项

我试图用junit5测试Springboot主类的代码覆盖率。但我得到了:

org.postgresql.util.PSQLException:连接到127.0.0.1:5432 拒绝了


首先,您将问题标记为
junit5
,因此我假设您使用的是junit5。 对于v5,您不应该使用
@RunWith
注释([源代码])

其次,您不应该在测试中运行main方法!
SpringBootTest
注释已经启动了一切!请阅读有关测试Spring引导应用程序的说明。当您使用start.spring.io生成一个新项目时,它将为您提供一个基本单元测试,用于启动应用程序上下文。它应该是这样的:

// Includes omitted for brevity
@SpringBootTest
class AlphaApplicationTest {

    @Test
    void contextLoads() {
    }
}
就这些。剩下的就是春天的“魔力”

有关更多信息,请参阅测试中的,例如“

此外,对于测试,您通常不希望使用“真实”数据库。SpringBoot附带了一些自动配置,可以使用H2内存数据库进行测试。您只需在POM中包含相关依赖项:

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
</dependency>

com.h2数据库
氢
org.springframework.boot
弹簧起动试验

您也可以使用普通的Spring启动配置,只对
test/resource/application test.properties中的测试使用applications.properties。首先,您用
junit5
标记了问题,因此我假设您使用的是junit5。 对于v5,您不应该使用
@RunWith
注释([源代码])

其次,您不应该在测试中运行main方法!
SpringBootTest
注释已经启动了一切!请阅读有关测试Spring引导应用程序的说明。当您使用start.spring.io生成一个新项目时,它将为您提供一个基本单元测试,用于启动应用程序上下文。它应该是这样的:

// Includes omitted for brevity
@SpringBootTest
class AlphaApplicationTest {

    @Test
    void contextLoads() {
    }
}
就这些。剩下的就是春天的“魔力”

有关更多信息,请参阅测试中的,例如“

此外,对于测试,您通常不希望使用“真实”数据库。SpringBoot附带了一些自动配置,可以使用H2内存数据库进行测试。您只需在POM中包含相关依赖项:

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
</dependency>

com.h2数据库
氢
org.springframework.boot
弹簧起动试验

您也可以为此使用普通的Spring引导配置,方法是使用applications.properties仅用于
test/resource/application test.properties中的测试。properties

为什么?您没有测试任何尚未使用
@SpringBootTest
完成的内容。您好,我想增加SonarQube的代码覆盖率,这就是为什么作为测试的一部分包含在测试中为单线干管添加测试没有任何帮助,如果您想用PostgreSQL而不是内存中的数据库编写实际的集成测试,那么它也不是一个有用的测试。看看Testcontainers()。这允许您生成任何Docker容器并将其用于测试Why?您没有测试任何尚未使用
@SpringBootTest
完成的内容。您好,我想增加SonarQube的代码覆盖率,这就是为什么作为测试的一部分包含在测试中为单线干管添加测试没有任何帮助,如果您想用PostgreSQL而不是内存中的数据库编写实际的集成测试,那么它也不是一个有用的测试。看看Testcontainers()。这允许您生成任何Docker容器并将其用于测试感谢您的快速响应。感谢您的快速响应。