使用maven对Spring应用程序进行单元测试后,在完成构建时遇到问题。我注意到mvn安装没有完成,在运行了所有单元测试之后,它似乎挂起了。如果运行mvn install
我将从cmd行获得要完成的测试,但构建挂起
Results :
Tests run: 34, Failures: 0, Errors: 0, Skipped: 0
14:20:15,588 [Thread-3] INFO GenericApplicationContext - Closing org.springframework.context.support.GenericApplicationContext@10a3b24: startup date [Wed Apr 25 14:20:08 EDT 2012]; root of context hierarchy
14:20:15,589 [Thread-3] INFO DefaultListableBeanFactory - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@16c163f: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,sysModel,alarmList,resourcePool,sysParams,stationHelper,commandTracker,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; root of factory hierarchy
14:20:15,595 [Thread-7] INFO GenericApplicationContext - Closing org.springframework.context.support.GenericApplicationContext@c5577c: startup date [Wed Apr 25 14:20:10 EDT 2012]; root of context hierarchy
14:20:15,596 [Thread-7] INFO DefaultListableBeanFactory - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@10952e8: defining beans [alarmDao,purgeDao,xactionDao,dataSource,sysModel,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; root of factory hierarchy
这就是它的结尾。两个线程正在运行,不确定我在那里做了什么。无论如何,为了排除故障,我删除了所有测试并让程序完全构建。如果我运行mvn install-DskipTest
,我就可以完成它。最后,我添加了一个JUnit测试,它本质上是一个system.out.println(“hello world”);。我可以通过注释掉JUnit注释“@RunTo(SpringJUnit4ClassRunner.class)”来让安装运行测试并完成安装。我使用的是Spring 3.1.0。RELEASE。
这个版本的问题来自于我在Windows7上的开发机器,但是我们基于Linux(Ubuntu11.10)。Hudson CI server使用相同的SVN存储库在同一项目上成功运行Maven install,每小时进行一次构建。
在Spring应用程序上下文关闭期间,线程之间似乎存在一些争用。您可以尝试打开Spring框架调试级别的日志,以查看争用的位置,如果可以,可以消除争用。
如果在应用程序上下文中看起来没有问题,另一种选择是调整插件配置。surefire
插件用于执行测试,它具有在多个线程中运行测试的选项。首先使用-X
运行mvn以查看线程选项(并行、线程计数、perCoreThreadCount等)使用了哪些值。调整surefire插件配置(执行ID为default-test
)以确保只有一个线程正在执行,并查看您是否可以让install
在Windows 7上运行。
一旦它在Windows中运行:当前的surefire配置(可能是super POM提供的默认配置)在CI环境中运行良好。因此,我将创建一个配置文件,如果在Windows 7环境下运行,则激活该配置文件,并将已识别的surefire插件配置移动到该配置文件中。
可能你的一个春豆正在繁殖一条线。使用jconsole连接到卡住的进程,查看挂起的是什么。您可以通过在有问题的bean上使用@PreDestroy在关闭时取消线程来修复它。
问题内容: 使用和我可以进入有问题的等待线程,但不知道如何对其进行故障排除或造成此故障的原因。参见下面的Maven依赖项和结果以及带有的等待线程。进一步分析,对于所选版本,Eclipselink和hsqldb之间似乎存在问题。由于升级这两个库而导致出现此问题,因为它们以前分别适用于Eclipselink和hsqldb的2.0.1和1.8.0.10版本。 而堆栈跟踪是: 问题答案: 确实确实看起来像
问题内容: 我在Eclipse中创建了一个新的maven项目,该项目通过使用HtmlUnitDriver和FirefoxDriver来调出一个网页并检查页面标题来运行简单测试。当我运行maven命令mvn test时,这就是我得到的一切: 当我在Eclipse中运行相同的Maven命令时,它显示以下内容: 这是我的pom.xml,供那些想要检查是否可能是问题的人使用: 问题答案: 您是说要添加为P
我目前正在为Hibernate项目Hibernate Search构建一个新包,我需要使用Arquillian在托管的WildFly容器中运行一些单元测试。当我使用命令时,我得到了以下错误: org.jboss.arquillian.container.spi.配置异常:jbossHome'${project.build.directory}/node1/wilfly-${org.wildfly}
我有一个Maven/SpringBoot2.3。3应用JUnit 5和Cucumber(v6.5.1)测试。 问题是,我可以通过Maven运行OK单元测试和集成测试,但它不运行Cucumber。 cucumber赛跑者: Cucumber Spring上下文配置: 步骤: 我在Maven pom中使用Surefire和故障保护。xml:https://github.com/danieldestro
你好,我正在尝试使用Maven运行一个JUnit测试。 [信息]没有要编译的内容-所有类都是最新的 [信息] [信息]--maven-surefire-plugin:2.10:test(default-test)@uitests-core-- 我不知道为什么它不能运行我的测试。请帮帮我。
有没有人能告诉我为什么我不能使用Maven运行任何测试。 已配置SureFire插件 在runner类下设置胶合代码 “测试”被追加到runner类 注意:如果我将文件作为Junit运行,那么它可以正确地运行所有场景。只有当我使用Maven运行它时,才不会运行任何测试。