我们在Eclipse中运行我们的junit测试看起来很好,但是当我们将它移动到哈德森或jenkins时,测试似乎挂起从未返回。它绝对是相同的代码,我只是在Eclipse和Hudson中运行测试的区别。在Jenkins的Junit测试挂起
回答
在eclipse中,你通常只运行一个测试类或一个测试方法。为此测试启动和停止“新鲜”的Java虚拟机。
我想詹金斯在一台Java虚拟机中运行所有测试。这可以产生巨大的差异。
尝试一次运行所有外部eclipse和外部哈德逊测试(如果你有一个maven项目应该很简单)。结果是什么?也许你可以配置你的测试运行来在每个测试中分叉Java VM(这可以通过配置surefire插件的maven来实现)。
你好!多数民众赞成在我想听到的,似乎朝着正确的方向,一个简单的mvn测试外日食,运行良好。我真的很感兴趣,如何配置surefire来分叉JVM,如果你知道如何徘徊?对于Eclipse中每个测试的“新鲜”JVM启动和停止,你还有多确定?谢谢! – 2012-02-03 16:39:26
如果按下运行(或调试)按钮,Eclipse会每次启动一个新的JVM。但是如果你的测试在mvn测试中运行良好,那么这可能不是问题所在。 – 2012-02-03 17:48:25
@shanyangqu如果'mvn test'运行良好,看起来没有必要分叉JVM。尽管如此,你可以尝试将[forkMode](http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html#forkMode)配置属性设置为'always'(details [here](http ://stackoverflow.com/q/3185850/367285)) – FrVaBe 2012-02-03 20:54:15
我的猜测是看内存的限制。尝试增加从Jenkins开始的maven进程的内存限制。
我的另一个猜测是看Jenkins的Maven构建是否被允许执行并行的子模块。如果是,它可能会导致一些难以找到的竞争条件。
测试是否在Eclipse和Hudson中以相同的方式执行?我的猜测是,Eclipse中的测试是逐个执行的(或者通过类的方式)执行的,并且在Hudson中通过构建脚本(如Maven或Ant)来执行?如果您从本地计算机上的终端执行测试套件,会发生什么情况?
- 1. JUnit测试挂在clientSocket.accept()?
- 2. JUnit测试调试在IntelliJ IDEA中挂起
- 3. Maven在运行Spring JUnit测试后挂起
- 4. maven测试挂起
- 5. QUnit测试挂起
- 6. Jenkins在运行Xcode单元测试时挂起
- 7. jenkins上挂着的SWBOT测试箱build
- 8. Jenkins,xcodebuild - > JUnit-用Appium测试?
- 9. 通过jenkins运行Junit测试失败
- 10. 当开启junit测试用例时,Eclipse被挂起了
- 11. 为什么scanner.next()会导致JUnit测试挂起
- 12. Jenkins永远挂起
- 13. 通过Jenkins工作运行时,Coypu/SpecFlow验收测试挂起
- 14. restify磁带测试挂起
- 15. 节点ORM2测试挂起
- 16. ANTLR测试程序挂起
- 17. SequenceGenerator在JUnit测试中不起作用?
- 18. 如何跳过在执行期间挂起/卡住的测试Selenium - Maven - Jenkins
- 19. JUnit 4和异常挂起
- 20. 的Arquillian JUnit测试不起作用
- 21. 的JUnit:测试
- 22. 异步测试在Nunit中挂起2.6.2
- 23. PreparedStatement.execute()在Spring单元测试中挂起
- 24. MSTest在执行Web测试时挂起
- 25. Selenide测试在Firefox中挂起
- 26. 黄瓜和junit在jenkins中有错误的测试数量(surefire)
- 27. 运行使用SWT显示的JUnit测试在Jenkins上失败
- 28. 如何在编译时在netbeans和jenkins中运行junit测试?
- 29. NullpointException在JUnit测试
- 30. 在Spring JUnit测试
它们必须挂在某处,查看日志,添加一些日志记录,换句话说,在讨论中添加更多详细信息 – Kris 2012-02-03 14:34:43
日志显示,存在数据库死锁,或者测试只是挂在那里(我正在更改无论如何测试),但问题是为什么它不会在日食中发生,但总是发生在詹金斯。 – 2012-02-03 14:42:02
可能是连接/连接池问题? – Kris 2012-02-03 14:46:24