我们在Eclipse中运行junit测试似乎很好,但当我们将其转移到hudson或jenkins时,测试似乎永远不会返回。这绝对是相同的代码,我只是想知道在Eclipse和Hudson中运行测试有什么不同。
发布于 2012-02-04 00:24:31
在eclipse中,通常只运行一个测试类或一个测试方法。在此测试中,将启动和停止一个“新的”Java虚拟机。
我假设Jenkins在一个Java虚拟机中运行所有测试。这会带来很大的不同。
尝试一次在eclipse和hudson之外运行所有测试(如果您有一个maven项目,应该很简单)。结果是什么?也许您可以将测试运行配置为在每次测试时派生Java VM (使用maven可以通过配置surefire插件来实现)。
发布于 2012-02-04 01:55:12
我的猜测是查看内存限制。尝试增加从Jenkins启动的maven进程的内存限制。
我的另一个猜测是看看从Jenkins构建的Maven是否允许并行执行子模块。如果是,它可能会导致一些难以找到的竞争条件。
发布于 2012-02-04 02:23:45
在Eclipse和Hudson中执行测试的方式是相同的吗?我的猜测是,测试是在Eclipse中一个接一个(或一个类接一个类)执行的,并由Hudson中的Maven或Ant这样的构建脚本执行?如果从本地计算机上的终端执行测试套件,会发生什么情况?
https://stackoverflow.com/questions/9130255
复制相似问题