首页 > 其他分享 >那年追过的开发者测试工具

那年追过的开发者测试工具

时间:2024-08-10 15:06:55浏览次数:12  
标签:Mockito 单元测试 test 追过 开发者 测试工具 org PowerMock junit

交付进度紧张,为什么还要花费精力写单元测试代码,如下是之前的笔记。

工欲善其事,必先利其器。使用Java语言交付项目时,需要掌握单元测试框架和Mock工具的使用。
如下是当年交付项目过程中,使用过的测试框架和工具,可供参考。

JUnit

测试用例的开发框架,从JUnit3一直到JUnit4。
JUnit5发布后,岗位的变化,在项目里写代码的机会不多,因此没有太多使用经验。

使用JUnit5时,修改项目的pom.xml,增加如下配置:

<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-api</artifactId>
    <version>5.10.3</version>
    <scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine -->
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-engine</artifactId>
    <version>5.10.3</version>
    <scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter -->
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter</artifactId>
    <version>5.10.3</version>
    <scope>test</scope>
</dependency>

使用JUnit4时,修改项目的pom.xml,增加如下配置:

<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13.2</version>
    <scope>test</scope>
</dependency>

参考资料

EasyMock

当年作为骨干参与祖传项目的交付,使用EasyMock配合PowerMock,写了很多单元测试,对于稳固产品质量,改善生活质量,非常有帮助。

修改项目的pom.xml,增加如下配置:

<!-- https://mvnrepository.com/artifact/org.easymock/easymock -->
<dependency>
    <groupId>org.easymock</groupId>
    <artifactId>easymock</artifactId>
    <version>5.4.0</version>
    <scope>test</scope>
</dependency>

参考资料

PowerMock

对于老项目来说,静态类满天飞,PowerMock非常有用。
当年作为骨干参与祖传项目的交付,使用EasyMock配合PowerMock,写了很多单元测试,对于稳固产品质量,改善生活质量,非常有帮助。

检查提交记录,发现最近的提交已在2022年2月24日
除非有新的开发者加入,否则本项目短期内不会有新的进展。

  • 官网

  • 代码仓库

    PowerMock is a Java framework that allows you to unit test code normally regarded as untestable.

  • Is this project still alive?

    I don't personally have time to maintain PowerMock anymore, and from what I understand from @thekingn0thing, the same is true for him. Is anyone else willing to move it forward? I'd be happy to give access etc if anyone is willing to do so.

    依据帖子中作者@johanhaleby的上述答复,短期内可能不会重启项目的开发工作。

修改项目的pom.xml,增加如下配置:

<!-- https://mvnrepository.com/artifact/org.powermock/powermock-module-junit4 -->
<dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-module-junit4</artifactId>
    <version>2.0.9</version>
    <scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.powermock/powermock-core -->
<dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-core</artifactId>
    <version>2.0.9</version>
    <scope>test</scope>
</dependency>

官方文档

参考资料

JMockit

刚入行的时候,隔壁项目组大规模应用本工具交付单元测试和集成测试代码,当时作为新手,除了哇塞,也不知道说啥好。

修改项目的pom.xml,增加如下配置:

<!-- https://mvnrepository.com/artifact/org.jmockit/jmockit -->
<dependency>
    <groupId>org.jmockit</groupId>
    <artifactId>jmockit</artifactId>
    <version>1.49</version>
    <scope>test</scope>
</dependency>

参考资料

Mockito

曾经在一个项目中使用过,不过这个项目的生命周期比较短,所以积累不多。

修改项目的pom.xml,增加如下配置:

<!-- https://mvnrepository.com/artifact/org.mockito/mockito-core -->
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-core</artifactId>
    <version>5.12.0</version>
    <scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mockito/mockito-junit-jupiter -->
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-junit-jupiter</artifactId>
    <version>5.12.0</version>
    <scope>test</scope>
</dependency>

参考资料

Cucumber

场景化测试、数据驱动测试,之前参与网络控制器的业务时,广泛使用了本工具来开发单元测试和集成测试代码,非常方便。

修改项目的pom.xml,增加如下配置:

<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java -->
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-java</artifactId>
    <version>7.18.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>7.18.1</version>
    <scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-core -->
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-core</artifactId>
    <version>7.18.1</version>
</dependency>

参考资料

标签:Mockito,单元测试,test,追过,开发者,测试工具,org,PowerMock,junit
From: https://www.cnblogs.com/jackieathome/p/18352288

相关文章

  • Qwen2-Math 开源 AI 模型发布;阿里云推出首个域名 AI 大模型应用丨 RTE 开发者日报
       开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但......
  • 面向忙碌的-Java-开发者的-Python-教程-全-
    面向忙碌的Java开发者的Python教程(全)原文:PythonfortheBusyJavaDeveloper协议:CCBY-NC-SA4.0一、语言让我们从了解Python与Java的不同之处开始我们的Python之旅。在下一章深入研究Python的语法之前,我将帮助你设置Python。Python是什么?Python是一种“......
  • 开发者们都在讨论Bandizip,你真的不心动吗?
    前言在这个信息爆炸的时代,数据如潮水般涌来,我们的电脑空间似乎永远不够用;每当面对堆积如山的文件,你是否也曾感到头疼不已?别急,小江湖今天就要带你走进一个神奇的世界,那里有一款软件,它如同一位隐世高手,以迅雷不及掩耳之势,轻松解决你的所有烦恼。想象一下,你不再需要为找不到合适......
  • 中国开发者画像报告:鸿蒙开发人才缺口达百万,薪资与技术成长超预期
    InfoQ最新发布的《中国开发者画像洞察研究报告2024》显示,5000款应用将完成原生鸿蒙开发,未来计划支持50万款应用。这一开发目标将为开发者创造超过300万个潜在新就业岗位。收入价值与技术成长价值是鸿蒙开发吸引人才的重要因素。数据显示,2024年鸿蒙开发者薪资平均涨幅高达43.1%,远......
  • 开发者洞察报告:百万级鸿蒙岗位缺口,开发者薪资涨幅43.1%
    最近,极客邦科技双数研究院InfoQ研究中心《中国开发者画像洞察研究报告2024》正式发布,分析了开发者群体在数字经济浪潮中的新趋势与显著变化。根据《国资委79号文件》指示,2027年底,全部国央企必须完成信息化系统的信创改造。而HarmonyOS系统作为国产自研信创软件的代表,其背后的广阔......
  • 2024睿抗机器人开发者大赛(RAICOM) CAIP编程技能赛 国一
    最后91分,国一。前几题都AK了,最后一题先是输出0,得了个1分。花了一个小时都没解决这题,难受ing,其实到最后差不多要改对了(降落那一部分没时间改),但是没时间了,hhhh。拿到国一,简直圆梦啦!!!本科拿的国三,差0.02秒就是国二,从此内心蒙上阴影。哭死ing研一终于拿了个编程比赛的国一,也算......
  • Postman接口测试工具详解
    引言随着互联网技术的不断发展,API(应用程序接口)在现代软件开发中的地位愈发重要。API连接了不同的软件系统,允许它们之间进行数据交换和功能调用。为了确保API的正确性和可靠性,进行全面的测试至关重要。Postman作为一个流行的API开发和测试工具,以其直观的用户界面和强大的......
  • JMeter 性能测试工具入门与实践
    简介ApacheJMeter是一款流行的开源性能测试工具,广泛用于测试Web应用和各种服务的性能。它支持多种协议和技术,如HTTP,HTTPS,SOAP,REST,JMS等。JMeter不仅可以用于性能测试,还可以用于负载测试、压力测试和功能测试。安装与配置安装JMeter访问ApacheJMeter的官方网......
  • OpenAI 重大人事变动,联创加入死敌;阿里视频框架 Tora 操控物体运动轨迹丨 RTE 开发者日
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑......
  • 抢先体验iOS 18开发者预览版Beta 5已发布怎么升级
    苹果今日向iPhone和iPad用户推送了iOS/iPadOS18开发者预览版Beta5更新(内部版本号:22A5326f),距离上次发布Beta/RC间隔7天。此次引入了更新设计的Photos应用程序以及全新的Safari选项等,并优化了很多细节。由于之前的相册大改版备受吐槽,苹果公司这次收集用户对Photos应用的反......