gpt4 book ai didi

java - Maven Failsafe 插件总是跳过集成测试

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:45:36 24 4
gpt4 key购买 nike

我正在尝试配置我的 Maven 项目以进行单元测试和集成测试。单元测试已经使用 Maven Surefire 插件正常工作,并根据模式 *Test.java 命名。

添加 Failsafe 插件后,像这样:

         <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.18.1</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.18.1</version>
</dependency>
</dependencies>
<configuration>
<includes>
<include>**/*IT.java</include>
</includes>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
</executions>
</plugin>

我添加了一个名为 SomeTestIT.java 的集成测试。但是,当我运行时:

mvn failsafe:integration-test

我得到以下信息:

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building MyApp 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-failsafe-plugin:2.18.1:integration-test (default-cli) @ MyApp ---
[INFO] Tests are skipped.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.368 s
[INFO] Finished at: 2015-03-04T14:43:50-06:00
[INFO] Final Memory: 11M/219M
[INFO] ------------------------------------------------------------------------

我的测试类(在测试层次结构下深埋了几个包级别)看起来像:

package com.example.my.package;

import org.junit.Test;
import org.junit.Assert;
import com.example.my.package.SomeService;

import org.junit.runner.RunWith;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.beans.factory.annotation.Autowired;

@RunWith(SpringJUnit4ClassRunner.class)
public class SomeTestIT
{
@Autowired
private SomeService target;

@Test
public void testTest()
{
Assert.assertTrue(false);
}

@Test
public void basicListTest()
{
Assert.assertNotNull(target);
}
}

测试是 stub ,以确保我的 Maven 集成正常工作。

我已确保:

  • 我的 POM 包括对 JUnit 的直接、测试范围的依赖。
  • 我已经尝试过带有和不带有显式测试运行器依赖项的插件配置。
  • 我已经尝试了上面的配置,无论有没有显式包含模式(假设我的类应该被默认选择)。

尽管如此,测试从未真正运行过。运行集成测试还需要其他什么吗?

最佳答案

我终于弄清楚发生了什么事,并想阻止其他人像我一样转动他们的轮子。在<properties> POM 头部的标记,有人添加了一个属性,该属性显示为 <skipITs>true</skipITs> .之前没有集成测试,所以该属性没有用。它可能是从其他 POM 中提取出来的,而没有真正考虑它是什么或它做了什么。

关于java - Maven Failsafe 插件总是跳过集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28864908/

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