自动配置测试作为集成测试

时间:2017-03-15 04:51:58

标签: spring-boot spring-boot-test

我有一个春季启动应用程序,我想自动测试。

我已经编写了一个@DataJpaTest单元测试,就像那个here一样,并且工作正常,但由于必须开始弹簧,它会大大减慢构建过程。

我想使用maven failsafe插件将这些测试作为集成测试运行,但我可以弄清楚如何执行此操作。如果我重命名测试以使它们与*IT.java匹配,则failsafe会尝试运行它们,但是spring并没有启动,并且注入的存储库出现java.lang.NoClassDefFoundError错误。

将弹簧启动测试作为集成测试运行的最佳方法是什么?

3月18日更新: 依赖于spring-boot-starter-test:

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

以下插件配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
<plugin>

使用mvn failsafe:integration-test正确执行集成测试。但是,我希望在执行mvn install时运行测试,因此我将插件配置更新为:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
            </goals>
        </execution>
    </executions>
<plugin>

现在,当我使用mvn verify运行测试时弹簧框架无法启动,因此我为JpaRepository获取java.lang.NoClassDefFoundError我试图注入并测试。

0 个答案:

没有答案