2013-03-06 61 views
2

我所在的团队对我们的项目进行了初始化,并将TDD作为一种生活方式,但由于项目规模庞大,测试数量庞大,我们的构建需要大约15-20分钟。真是太棒了,我们拥有和我们一样多的测试覆盖率,但它并不完全是我们想要的快速转身。是否可以限制Maven构建的输出?

当我们进行完整构建时,有页面,页面,页面和输出页面发送到控制台,而且我知道写入控制台可能代价高昂。有没有什么办法可以减少某些输出的方式来调整 maven??这是甚至是一个问题,或者我应该寻找其他方式来刮我们的构建一段时间?

+2

将构建卸载到CI服务器,如[Jenkins](http://jenkins-ci.org/),它将向您发送有关构建中断和测试失败的电子邮件。此外,任何像样的IDE都能够将单元测试限制为特定的软件包,子项目等。 – 2013-03-06 14:02:36

+1

问题在于,如果您的测试真的是单元测试,并且不会与可能代价高昂的集成测试混在一起。 – khmarbaise 2013-03-06 14:26:24

回答

5

您认为写入控制台是瓶颈。是否由maven完成了写作(例如许多插件调用,正在执行的录制测试)还是由我们自己的代码完成?

如果您的代码输出太多,那么您应该在src/test/resources目录中部署日志记录配置文件(Log4j,Logback等)并禁止所有日志记录输出。

如果你通过什么样的Maven本身写困扰,与-q标志运行:

-q, - quiet安静输出 - 只显示错误

这至少会允许你验证写入控制台是问题(我并不确定)。

+1

与log4j相比,logback预计会有性能提升。你也可以看一下'AsyncAppender' – Gab 2013-03-06 15:07:27

+0

在这一点上,我只是在寻找便宜的收益......有太多的输出来看看桌面上的控制台是什么。我会给你一个-q的建议,谢谢! – bakoyaro 2013-03-06 15:29:11

+0

试过了,输出很少,但仍然有相当一部分被发送到控制台。我将在稍后发帖,如果这相当于削减任何时间的构建。 – bakoyaro 2013-03-06 16:34:45

相关问题