河北网站备案泰安seo优化

张小明 2026/1/10 3:06:01
河北网站备案,泰安seo优化,青岛网络推广服务,.net电商网站开发设计单元测试是项目研发的重要阶段。相比接口测试、界面测试#xff0c;单元测试外部依赖最少、颗粒度最细#xff0c;可以在开发阶段更快、更直接地发现Bug#xff0c;适合开发团队快速排查错误#xff0c;是保障研发质量的重要手段之一。 但是#xff0c;随着单元测试用例数…单元测试是项目研发的重要阶段。相比接口测试、界面测试单元测试外部依赖最少、颗粒度最细可以在开发阶段更快、更直接地发现Bug适合开发团队快速排查错误是保障研发质量的重要手段之一。但是随着单元测试用例数量的增加执行速度也会逐渐变长。我们经常看到一个现象在研发人员的研发终端上运行数千条单元测试脚本时间超过1个小时。本文主要是总结了笔者近年来的单元测试经验分享如何有效提升单元测试的运行速度节约开发时间。提升妙招1、优化单元测试代码。例如Test public void test1() { //模拟数据库交互 List mockList Mockito.mock(List.class); when(mockList.get(0)).thenReturn(first); assertThat(mockList.get(0)).isEqualTo(first); } Test public void test2() { //模拟第三方接口返回 when(personService.queryForOneName(1)).thenReturn(ceshiname1); assertThat(personService.queryForOneName(1)).isEqualTo(ceshiname1); }2、多模块项目并行编译针对多模块项目推荐采用mvn命令加-T选项开启并行构建。例如mvn -T 2 test(指定两个线程并行)mvn -T 2C test(指定每个CPU分配2个线程构建)。3、并发执行单元测试脚本在maven-surefire-plugin开启parallel可以为一个进程开启多个线程Junit高于4.7。使用threadCount参数可以设置创建的最大线程数或使用useUnlimitedThreads参数可以为每个CPU内核创建一个线程。例如plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-surefire-plugin/artifactId version2.18.1/version configuration skipTestsfalse/skipTests testFailureIgnoretrue/testFailureIgnore argLine${argLine} -XX:MaxPermSize1024m/argLine parallelall/parallel threadCount4/threadCount /configuration /plugin4、执行参数优先使用mvn testmvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等个步骤。mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个步骤。mvn test命令可以一次性执行所有的用例执行完后可以直接看到执行结果相对mvn clean package和mvn clean install更节省时间。5、减少初始化次数使用suite参数将同一个类的测试用例放在一个suite套件中执行时只初始化一遍减少初始化次数。另外推荐直接使用SpringBootTest注解避免在注解中加入一些选项值导致注解加载多次延长时间。例如Slf4j SpringBootTest RunWith(SpringRunner.class) public class CaseServiceImplTest { Autowired private CaseService caseService; Test public void countCaseByUsername() { String userName xxxx; ResultBus resultBus caseService.countByUsername(userName); org.junit.Assert.assertNotNull(resultBus); Assert.assertEquals(resultBus.getMessage(), resultBus.getCode(), CodeInfoEnum.SUCCESS.code()); System.out.println(resultBus); } }6、优化执行慢的测试用例本地执行过程中控制台输出每个用例的执行时间将结果保存在日志中按照执行时间进行排序例如cat log.txt|grep “Time elapsed:”|sort -t’’-k 13rn, 13| head -15。通过日志查看耗时较长的用例有针对性地进行优化。7、扩充执行资源增加执行终端的CPU、内存或者选择配置更高的执行终端运行缩短单元测试执行时间。结语提高单元测试运行速度对提升研发效率具有重要的意义也是单元测试领域的一个重要研究课题。笔者也将在该领域不断加强研究不断总结好的方法与大家共同致力于单元测试运行速度的提升。感谢每一个认真阅读我文章的人作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。视频文档获取方式这份文档和视频资料对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你以上均可以分享点下方小卡片即可自行领取。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

查公司的口碑和评价的网站网站设计模板下载

目录已开发项目效果实现截图开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!已开发项目效果实现截图 同行可拿货,招校园代理 python考研互助交流平台pythonlod和php–论文_pycharm django…

张小明 2026/1/8 12:49:19 网站建设

杭州外贸网站建设公司排名专业深圳网站定制开发

Citra模拟器联机教程:3步实现跨设备多人游戏体验 【免费下载链接】citra 项目地址: https://gitcode.com/GitHub_Trending/ci/citra 还在为无法与异地朋友共享3DS游戏而烦恼吗?Citra模拟器的网络联机功能让你轻松突破地理限制,与全球…

张小明 2026/1/9 3:27:16 网站建设

网站模板设计定制化服务深圳网站建设网络推广

美剧迷的终极解决方案:打造专属Mac观影空间 【免费下载链接】iMeiJu_Mac 爱美剧Mac客户端 项目地址: https://gitcode.com/gh_mirrors/im/iMeiJu_Mac 当《权力的游戏》迎来最终季,你却在各大平台间疲于奔命?当《生活大爆炸》的经典桥段…

张小明 2026/1/8 16:58:04 网站建设

网站开发用什么字体推广平台有哪些洛克

Qwen3-VL处理网盘直链下载助手中转页:提取真实文件地址 在如今这个信息爆炸的时代,我们每天都在和各种“中转页”打交道——尤其是当你点开一个网盘链接时。明明只想下载一份PDF讲义或一段视频教程,结果却被引导到一个又一个页面:…

张小明 2026/1/9 11:58:39 网站建设

做网站都需要买什么网站设计前景

GoView低代码数据可视化平台完整教程:快速构建数据看板的终极指南 【免费下载链接】go-view GoView 说明文档,GoView 是一个低代码数据可视化开发平台,将图表或页面元素封装为基础组件,无需编写代码即可完成业务需求。 它的技术栈…

张小明 2026/1/9 18:45:00 网站建设