前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TestMe自动生成单元测试用例

TestMe自动生成单元测试用例

作者头像
Antony
发布2023-03-23 13:18:55
3.4K0
发布2023-03-23 13:18:55
举报

单元测试用例自动生成的新选择-TestMe

本号原先推荐过几个不同的测试工具

断言-Json断言:assertJson

数据库测试:DataBaseRider

最近有个公众号发了一篇《阿里内部如何做单元测试培训的》的文章,在文章的最后提到了TestMe这个自动生成单元测试用例的工具TestMe。

因为在公司内部推动质量门禁和单元测试的缘故,笔者在早几年也曾经评估过几款单元测试自动生成的工具,也曾经和国内的厂商进行过交流和POC,当然最终因为各种原因,没有引进这类型的工具,当然质量门禁是已经带电了。

这次看到TestMe,简单试用之后,已经在公司内部找了几个同学试点,反馈不错。

使用

和其它的同类型工具差不多,这是一个IDEA的插件。内网开发的同学要到插件市场上自己去下载一下 https://plugins.jetbrains.com/plugin/9471-testme/versions#tabs 。安装过程过于简单就不截图了。

使用其实也很简单,

Alt+Shift+Q 来调起生成用例的界面,

或者是 IDEA Code->TestMe菜单,

或者是在所选择的被测类或者方法上右键调出浮动菜单,选择Generate->TestMe,

然后就有了生成测试用例的界面,选择自己使用的测试框架即可,

以下是官网放出的一个案例

问题

简单试用之后整理了如下的几个问题

1、目前只能使用Mockito这个Mock框架。这个对于笔者来说不是问题,

2、断言使用的Junit原生断言。在公司内部推荐的断言工具其实是assertJ, 这也是Spring-Test-Starter目前自带的断言工具。

3、只能针对单个类或者方法生成用例,不能针对Package批量生成用例。想一键把之前欠下的单测债务全还了的同学还是放弃吧。

4、貌似不能生成异常测试用例,对于方法中抛出的异常,并没有看到有对应的用例去覆盖。

原先在试用其它类似工具,诸如diffBlue/Evosuite时,经常抛出空指针异常等等的问题。而在POC某些大厂或者商业产品时,一般都提供针对整个项目的自动生成,此时就会遇到机器配置过低导致一次全量生成要几个小时的性能问题。甚至还有人回来跟你质疑自动生成的用例量过大不可维护的问题,或者是生成的用例没有业务含义,用例有效性过低等等问题。

而本次试用,当你放低期望,只是把它当成一个单测辅助工具来介绍给大家的时候,忽然间只要够用就行了,能够快速提供一个单测脚手架类,大家的接收程度一下就提高了, 当然质量门禁的顺利实施也是一个因素

最后再说一句,

工具并不能代替人,单元测试也不只是替代码穿上秋衣秋裤。

这个工具,包括所有针对代码自动生成单测的工具,如果只是简单地将代码进行覆盖,完成覆盖率指标要求,这并不能实现通过开发自测提前发现缺陷的问题。还是要针对需求、设计来进行测试。工具只是帮你搭一个架子,提高了效率而已。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试那些事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用
  • 问题
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档