当前位置: 代码迷 >> 报表 >> surefire 跟 surefire-report plugin
  详细解决方案

surefire 跟 surefire-report plugin

热度:338   发布时间:2016-05-05 08:02:56.0
surefire 和 surefire-report plugin

今天遇到了很奇怪的事情,浪费了两个小时。还是因为过于自信,没有仔细看配置。

maven 配置里面怎么也不能用上自己配置的testng.xml, 用了这么久,居然遇到这种问题。为此特意写了一个测试工程。

最后才发现,居然在改用surefire的地方用到了surefire-report,

下面是正确的配置,testng.xml就在项目根目录下,

当然也可以放在src/test/resources目录下,这样的话要写成


testng.xml内容很简单:


如果不小心复制成了surefire-report-plugin, testng.xml会被忽略,然后所有的测试程序都会被执行。


我为什么会犯这个错误,因为我的父工程的pom.xml里面用到了site plugin,site plugin里面用到了surefire-report-plugin。


实际上surefire plugin运行测试代码,并将报告放在${basedir}/target/surefire-reports目录下

文件类型是txt和xml

而surefire report plugin负责将xml文件转换成html文件,这样就可以和site产生的报告合在一起。


所以项目中应该两个都需要,如果只用surefire-report plugin,我们就不能控制那些UT需要运行,哪些不需要运行。

 

这件事情其实暴露了maven的一个问题,如果surefire-plugin不支持某些设置,比如testng的配置,就应该及时报错,而不是悄无声息的做一些默认行为。

友好一点,大家生活都轻松点。





  相关解决方案