java – 单元测试类中测试的执行时间,通过maven surefire-report以汇总格式显示在单个文件中
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 单元测试类中测试的执行时间,通过maven surefire-report以汇总格式显示在单个文件中,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1299字,纯文字阅读大概需要2分钟。
内容图文
任何人都可以告诉我如何通过maven-surefire将单个测试类中的每个单元测试所花费的时间放在单个文件中?我已经看到我的目标/ surefire-report它有每个测试的文件.基本上我正在寻找一个总结了所有执行时间的文件.如果可能,还要按每个测试的执行时间对结果进行排序.
我正在使用maven 3.5&在MacOSX 10.12.6上的surefire-plugin 2.4.2.
解决方法:
maven-surefire-plugin目前不允许你这样做.它将所有结果写入单独的文件中.如果您觉得这是一个缺失的功能,您可以在其issue tracker中创建一个功能请求.
但是,您可以使用某些Linux命令将输出转换为所需的输出.以下是一些命令,可以将单独的XML文件转换为一个看起来像您想要的文件:
grep testcase target/surefire-reports/TEST-*.xml |
sed 's/.* name="\(.*\)" classname="\(.*\)" time="\(.*\)".*/\2#\1() - \3ms/g' |
sort -n -k 3 > output.txt
更新:数字排序存在不同数量的分数问题
数字.使用下面的awk版本来解决这个问题.
同样的事情可以用awk做得更短,更少隐秘:
grep -h testcase target/surefire-reports/TEST-*.xml |
awk -F '"' '{printf("%s#%s() - %.3fms\n", $4, $2, $6); }' |
sort -n -k 3 > output.txt
生成surefire报告后,您必须从maven项目的顶层目录执行这些命令.
如果您有多模块项目,请改用:
find . -name TEST-*.xml -exec grep -h testcase {} \; |
awk -F '"' '{printf("%s#%s() - %.3fms\n", $4, $2, $6); }' |
sort -n -k 3 > output.txt
生成的文件是output.txt,包含以下格式的行:
<classname>#<methodname>() - <time>ms
结果按消耗的时间排序.
内容总结
以上是互联网集市为您收集整理的java – 单元测试类中测试的执行时间,通过maven surefire-report以汇总格式显示在单个文件中全部内容,希望文章能够帮你解决java – 单元测试类中测试的执行时间,通过maven surefire-report以汇总格式显示在单个文件中所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。