每种编程语言都有自己的单元测试框架。执行单元测试的工作一般由构建工具来完成。Jenk-ins做的只不过是执行这些构建工具的单元测试命令,然后对测试报告进行收集,并呈现。
Jenkins并不会自动帮我们写单元测试,写单元测试还是要靠人。为什么要这样说呢?因为笔者发现,不少人认为Jenkins的自动化测试是指Jenkins代替人自动写测试。
JUnit是一个Java语言的单元测试框架,由Kent Beck和ErichGamma创建。当执行maven test命令时,Maven会执行测试阶段(包括单元测试),然后生成测试报告。
收集并展示JUnit测试报告的步骤如下: 1.安装Jenkins JUnit插件,搜junit
2.在Jenkins中加入junit步骤,通常将步骤放在post always中,因为当测试不通过时,我们依然可以收集到测试报告
post {
always {
junit testResults:
"**/target/surefire-reports/*.xml"
}
}
当pipeline运行结束后,在构建页的左边菜单栏及右边详情下都会多出一个链接:Test Result
3.单机“Test Result”进入,可以看到测试报告的详细信息
junit步骤的testResults参数支持Ant风格路径表达式。**/targetlsurefire-reports/*.xml
表示只要是target/surefire-reports目录下的XML文件就会被当作JUnit测试报告处理,而不论target在哪个层级的目录下
JUnit只是方便我们写单元测试的一个框架,但是并没有告诉我们有多少代码被测试覆盖到了。而JaCoCo填补了这一空白。JaCoCo是一个免费的Java代码覆盖率的库,能帮助我们检测出代码覆盖率,并输出覆盖率报告。
JaCoCo提供了以下几个维度的覆盖率分析。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。