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

Maven测试不能解决自动连线的spring boot依赖

萧麒
2023-03-14

通过Intellij执行的Spring Boot测试运行良好。但是当我用Maven运行测试时,它们失败了。

我使用这个Maven测试命令:

mvn test

在surefire插件报告中找到的原因:

------------------------------------------------------------------------- 测试集:com.miro.project.controllers.ProjectTest ------------------------------------------------------------------------------- 测试运行:5,失败:0,错误:5,跳过:0,经过时间:7.839秒

以及在终端中(在执行测试之后):

IllegalState无法加载ApplicationContext

在我的测试中,所有依赖项都加载了@Autow的注释。我使用的是Java8、Maven 3.6.3和Spring Boot 2.3.0

任何想法?

谢谢你。

共有2个答案

高皓
2023-03-14

有两个问题:

> < li>

当Maven运行多个测试(使用mvn test命令)时,它会以某种方式扰乱端口——因为这些类中的每一个都使用

测试模板

因此,解决方案是分别调用这些测试类中的每一个。我创建了一个专用脚本,并逐个调用它们:

#! /usr/bin/zsh

cd /home/miro/IdeaProjects/acme-project/acme-backend

mvn -Dtest="AcmeControllerTest" test -Dspring.profiles.active=dev
mvn -Dtest="AcmeProfileControllerTest" test -Dspring.profiles.active=dev
mvn -Dtest="RandomControllerTest" test -Dspring.profiles.active=dev

在运行Maven时,我必须明确定义环境:

-Dspring.profiles.active=dev

徐正雅
2023-03-14

确保您的所有类对Spring都是可见的。尝试检查每个类是否都有正确的注释(@Component、@Service、@Repository等)。如果acmeApplication.java有您的main方法,请确保它包含@EnableAutoConfiguration和@SpringBootApplication注释。

 类似资料:
  • 我在Eclipse4.18中遇到了一个奇怪的问题,我希望有人能帮我解决这个问题。我的项目是一个jetty webapp,它通过FTP与外部服务器进行通信。我正在使用mockftpserver(https://mockftpserver.org/)帮助对需要与FTP服务器通信的代码进行单元测试。 我在pom中将库依赖项定义为 然后我在测试类中定义了一个导入,比如 没有什么太奇怪的事情发生,maven

  • 我想测试一些包含其他autowired服务的服务。但这些“外部”服务对于测试本身并不是必需的。 我如何创建一个测试设置,例如下面的例子? ApplicationContext.xml: 问题:所有包含来自未在测试中扫描的包(如)的自动连线依赖项的服务都将引发异常: 原因:org.springframework.beans.factory.NoSuchBeanDefinitionException:

  • 我已经创建了一个构建。war文件的非常简单的Maven项目。Maven Version3.2.3,Java Version1.7.0_67。pom.xml文件就是这个要点。 如果我运行,那么项目构建良好。但是,如果首先下载所有具有和的依赖项,然后运行进行脱机构建,则会出现如下错误。 我从两种方式创建的。m2/repository文件夹不同,使用依赖插件创建的文件夹缺少许多文件,其中大多数与Plex

  • 我正在尝试解决我的eclipse项目中的maven依赖项。 依赖项已经下载到我的maven dependencies文件夹中(如下所示) 然而,import语句仍然没有解析。 在我的java构建路径中,存在Maven Dependencies文件夹。 到目前为止,我已经尝试在命令行上重建项目并在eclipse中刷新它;我尝试在eclipse中重建它;我尝试在eclipse中更新项目。 似乎什么都没

  • 我想创建一个蒙戈上限集合,为此,我在教程中看到,我需要使用蒙戈操作bean。但是我不能自动连接它。 描述: com中构造函数的参数1。戴蒙。反应性Spring。初始化。ItemDataInitializer需要“org”类型的bean。springframework。数据mongodb。果心找不到MongoOperations。 行动: 考虑在您的配置中定义一个类型为“org.springfram

  • 通过maven运行selenium测试时,它会自动跳过我的一个测试并很好地运行其他测试。不确定为什么maven的bcos默认行为是不跳过测试。尽管添加了