Java 我可以得到maven执行的测试用例总数吗?

Java 我可以得到maven执行的测试用例总数吗?,java,maven,Java,Maven,我有一个maven项目,其中有几个子项目。每个子项目都有自己的测试用例,所有的测试用例都运行良好。我想知道在父项目上执行的测试用例的数量 我是否可以获得所有已执行测试用例的详细信息?即使测试用例的数量也可以 请分享您的宝贵意见。您可能需要在父pom中配置侦听器,但不确定它是否有用。更多信息 最好的解决方案是在Hudson这样的持续集成工具中配置构建作业。它可以为您提供完整的信息。如果您想一次性完成,可以首先将maven构建输出到日志文件: mvn clean verify > maven_

我有一个maven项目,其中有几个子项目。每个子项目都有自己的测试用例,所有的测试用例都运行良好。我想知道在父项目上执行的测试用例的数量

我是否可以获得所有已执行测试用例的详细信息?即使测试用例的数量也可以


请分享您的宝贵意见。

您可能需要在父pom中配置侦听器,但不确定它是否有用。更多信息


最好的解决方案是在Hudson这样的持续集成工具中配置构建作业。它可以为您提供完整的信息。

如果您想一次性完成,可以首先将maven构建输出到日志文件:

mvn clean verify > maven_build.out
然后,您可以运行bash one liner来汇总运行的测试数:

 echo $(( $(cat maven_build.out | grep "Tests run" | grep -v "Time elapsed" | cut -d , -f 1 | cut -d " " -f 3 | tr "\n" "+") 0))
这将从日志中提取每个摘要(重复时)的所有“测试运行”及其旁边的数字,并对其求和


您需要unix或cygwin,您可以执行以下简单的bash脚本:

mvn test | egrep "^\[INFO\] Tests run: [0-9]+, Failures: [0-9]+, Errors: [0-9]+, Skipped: [0-9]+$" | egrep -o '[0-9]+' | awk '{n += $1}; END{print n}'

它调用Maven来运行测试套件,并将输出重定向到
grep
,以选择测试执行结果。那么,
awk
统计已执行测试的总数,并将结果打印到标准输出。

您可以将maven命令输出重定向到一个文件,您可以看到每个子项目单独执行的测试用例总数。有任何命令或maven属性可以帮助满足要求吗?最好是运行此命令在像Jenkins这样的CI解决方案中,您可以从中获得所有信息……您是否查看了Maven surefire reports()?您确定吗?我有一个项目,使用这个脚本可以获得170万个testsAdd
^\[INFO\]
到第一个
egrep
的正则表达式,它不会打印任何内容……如果Maven项目没有完成执行测试,脚本将无法工作@Berto99项目是开源的吗?当然,试试谷歌番石榴