![]() |
成熟的小刀 · 广州白云山医院官网-广州白云山医院· 10 月前 · |
![]() |
坚强的手链 · 领略东南风采,播种梦想之花——南京市第九中学 ...· 10 月前 · |
![]() |
不要命的鸡蛋 · 中国石油大学(北京)克拉玛依校区石油学院· 1 年前 · |
![]() |
英勇无比的脸盆 · [攀岩基礎] PBUS 確保法 - ZA ...· 1 年前 · |
嗨,大家好,我是旭峰,欢迎大家收看本期视频啊,那么今天这个视频呢,我们将一起来看一下如何在 idea 当中进行这个单元测试,以及这个覆盖率的一个测试,对吧?首先呢,我们这个地方有一个 application test 一啊,你可以看到我这个地方有一二三四五啊,我们首先看一, 然后在他的这个类的头部有一个 springboard test 啊,这样的一个注解,然后在这个 classes 指定了一个 这个玩意,对吧?我们可以点过来看一下啊,它其实就是我们整个现在这个方定 ai 啊,它的这个 spring boot 项目,它的一个启动的这个主程序啊,启动类,对吧?啊?入口,然后我们现在需要去把它写在这个地方啊,是什么意思呢? 就是你在 spring boot 下面去做测试啊,你必须要告诉我,你要基于哪一个容器的这个启动类,或者说项目启动类来加 搭载你下面的这些资源以及相关的依赖。 okay, 比如说这个地方有一个 font service 啊,还有这个 fond repository, 很明显它是通过 autowire 注解来从那个 l c 容器当中获取资源的,对不对?所以说如果你没有这样的一个主程序,去把 supreme 的那个 相关那些环境或者说依赖给你加载成功的话,你的这个测试是跑不通的。 ok, 所以说很多同学问我啊,为什么我这个测试跑不起来?你首先检查一下这个 springboard test 注解有没有搞明白, ok, 好的,那么接下来呢,我们看到下面有两个方法,第一个是测试这个 surface 的括方法,第二个是测试这个 report three, 他去查数据库啊,什么巴拉巴拉一堆,很简单,对不对?然后我们看到左侧呢有一个小三角啊,这个地方也有个小三角,什么意思?就是这个方法可以单独去运行啊,比如说你左键点击一下,他会 给你很多运行的方式啊,比如说这是 run 呢?还是说 debug 呀?还是这个 coverage 啊? coverage 这个后面我们会讲,对吧?现在就不过多的给大家阐述了, ok, 然后这个地方有一个 一个三角压着,一个三角啥意思?就是 run test 啊,就是把所有下面的这些 test 方法全部啊,一次性的给我运行一下啊, 我们就来这个吧,对吧?啊?我觉得这个应该是比较好的, ok, 哎,你会发现它首先就是去加载一些 spring 相关的一些环境,对吧?啊? supreme 的项目已经开始启动了, 然后跑了。第一个方法啊,第一个方法是查了数据库没问题,然后第二个方法正在跑,他会去爬一些外面的资源啊,然后去更新,哎,两个都跑完了,对吧?然后他这个地方是按照你运行的这个类啊,给你去折叠的啊,如果说你这个类里面有多个这个小 好的 test 方法,他会从上到下列举出来,对不对?然后接下来我再教大家一个方法,就是这样,比如说现在是一个 test 这样的一个包,对不对啊?你很明确,你在这个 test 这个啊文件夹下面,你都是一些测试用力,然后比如说你这个地方是,嗯 嗯,我写的这个叫 test 啊,你可以写成叫 orders, 或者说叫什么啊?顾子啊,就是不同的这个领域啊,你把相应的一些测试 case 全部放在这个包下面,你可以这样去做啊,直接右键这个包,然后点 run tests in 这个,这个,这个包路径下面 啊,这个我应该不用解释了吧,对吧?啊?就是这个包下面的所有的这些测试的类,你全部都给我跑一遍啊,然后这个类里面有多少方法我不管,全部跑完,对吧?接下来我们就玩一下这个,这个玩的有点大, ok, 好,我们一起来看一下。哎,这个地方有一个地方爆粗 错了,对吧?啊,你会发现他很奇特啊,他这个地方是一个叉叉,别人都是对勾,对吧?啊,所以说 这个就要单独处理一下了,对吧?啊,我们不着急,我们等下面这个跑完以后,我们再统一来看一下啊,有哪些地方报错了,还好啊,整个你的这次运行是在 cn by wayne 方定这个包下,然后跑的是这个 test 这个包对不对?然后它下面呢,总共有这样几个东西啊?我们折叠一下看一下, ok, 总共有这样的五个类,然后呢,其他的这四个类都跑成功了,这个类是不成功的,我们点开看一下啊,这个方法是有错的,没问题,我直接右键他,然后点 run, 对吧?或者说我想看一下他到底是哪个地方冒错了,我可以 debug 一下,对吧?但是我现在想要去到这个具体的方法,他所在的那个类,我应该怎么去?右键然后有一个 jump boss 啊,就是我要去到他的这个实现源码的那个地方,对吧?啊,在这个地方啊,你会看到这个地方也会有一个小图标,就是你曾经跑过这个 case, 但是呢,这个 case 它是一个感叹号啊,有问题的 啊,没问题啊,那我们就在这个地方打一个断点,然后来到这个地方,给它右键一下 debug, 看一下它具体是哪个地方报错了。 ok, 我下面写了一个断言啊,就是这个 third by code 不等于闹, 我的理解应该是这个断言他肯定是出问题了,有可能我传的这个一二三,他查出来的这个掰扣的,他就是一个闹,对吧?所以说你 啊,我看一下啊,往下执行一下, ok, 执行一下,然后这个地方啊 by 扣的是闹,对不对?所以说他这个地方肯定是一个 force 啊,然后他这个地方就报错了,对吧?所以说我们让这个程序走完,然后在这个地方给他来一个等, 等于闹啊,这个地方就不会再报错了。 ok, 那么这个很简单,我们就不过多的来做演示了啊,我们这个地方来到一个 test controller, 其实今天呢,我主要是想给大家分享一个如何在这个 test 里面去测试 controller。 ok, 然后这个地方有一个 test controller 啊,我们利用一个快捷键啊,很快速的去给他建立一个相应的这个 test case, 比如说你在 mac 下面,你就可以用这个 command 加 shift, 然后来一个数字八, 哎,好像不是我记错了, ok, cmd 加 shift, 加上这个 t 啊,对 t, t 就是 test 的意思,对不对?然后它这个地方有一个 create new test, 点击它, 然后他这个地方会列举出来很多的这个市面上常用的这个 test library 啊,测试的一些框架,我默认选择这个 unit five okay, 然后是测试的名字已经帮你写好了啊,就叫什么什么太 test, 然后有没有副类啊?没有啊,然后它具体放在哪个地方,我们要选一下,对吧?就是我们把它放到这个台式 test 下面吧,然后点击一个 ok, 然后下面有一个方法,两个方法,三个方法啊,你想测哪个你就勾哪个, ok, 然后还有一些 set up 和 before 的这些东西,你如果有需要,那你就写啊,勾选,如果没有需要的话呢?那就不勾选啊,自己看着办,然后点击一个 ok, 诶,然后你会发现在这个 test 包下给我们建立了一个这个 test controller 的这个 test, 对吧? ok, 没有任何问题。 然后接下来我们要做一些配置啊,首先还是这样一个东西,对吧?就是我们需要把这个 spring boot 环境给他搞过来啊,因为这个 controller mvc 的一些东西也是依赖于这个 spring boot 的,对吧?啊?首先我们需要去引入一个 web applic cashing context 啊,然后还有一个这个 malk mvc 以及这个 http 的 headers okay, 这个地方我直接是把我们公司的一个这个我当时写了一些测试的 case, 我直接给它粘贴过来,因为打可能会很花时间啊。 首先你需要去把这个 web application context 就是 spring 给你传递的这样的一个上下文啊,就是加载起来,然后形成你自己的这个 mock mvc, 然后这个地方大家可以看到它是一堆加载 header 的啊,这样的一个方法,对吧?也就是什么意思呢?就是我们通常在写这个接口的时候,接口测试的时候 啊,这个手机端或者说 h 五他们跟我们交互的时候,他们可能要去传递一些啊 header, 对吧?比如说在 header 里面,他会去告诉你当前是在哪个国家,然后他使用的一个语言是什么,然后这个 diystyle, 比如说他是安卓还是 ios, 还是这个 h 五等等等等。然后还会有一些 这个 token, 或者说 time step 的一些健全的一些参数啊,这个是实际你需要有什么,你就在这里写就可以了啊。然后这个地方,比如说我想要去看一下这个 header 是叫什么啊? user token 啊,我就把这个 key 拿过来,然后给它来一个 啊,叫做这个 user token 啊,比如说这个 token 我们给它叫做 token 一二三啊,等会我们可以看一下能不能取得到。然后下面这个地方呢?它就是一个呃,叫什么呃,上下文的设置啊。这个其实啊,大家可以不用学我啊,因为我当时是为了模拟这个呃, 它有没有这个权限去操作某一个资源啊?所以说这个我直接给它删掉了啊?这个 b for each 它是什么意思呢?字面含义很好理解,就是在下面的这些 test case 每一个执行之前,我都会去啊,做一个这样的 初始化的方法,对吧?啊,所以说这个没有任何问题。 ok, 这个地方定义一个 public static final stream, 然后这个贝斯 url 吧,然后叫这个 没问题吧?就是这个 test controller 啊,他首先有一个跟路径是 aps student, 对吧?然后下面是这些这些变动的,然后写一下吧, test 啊,这个地方就不要了, test, 然后 get 它,对吧?然后这个地方有一个 request jason 啊,因为我们现在这个是一个 get 方法,所以说这个 jason 我们就不需要了,然后我们把这个 content 给它去掉啊, 然后他这个地方标红是因为他会报错啊,就是会有一些异常抛出,所以说我们这个地方加一个 sneaky throws 啊,是这个 landbox 下面的一个异常补货的这样的一个语法堂, ok, 然后有了这个 m we see result 以后呢,我们想看一下它里面具体有什么东西啊?这个没有问题, get 这个 response okay, 然后呢,你可以用这样的一个方法, get content as string, car set utf 杠八,对吧?然后这个地方呢,就是呃,福气给你返回来的一个东西啊,不要用 system out 了,用这个 log, 在这个地方我们可以去写很多的这个 expect 啊,就是这个 expect 是什么意思呢?就是我们去我们期望这个 会发生什么,对吧?啊?我们期望它,呃,这个 mattress 啊,是当前这个接口的 status 是 is ok 啊,也就是两百的这样的一个东西,对吧?通常我们去测一个接口啊,最重要的就是它 啊,返回两百对吧?啊?不可能去测什么五百对吧,肯定是要首先测两百的, ok, 然后接下来我们就来运行一下吧,简单运行一下,比如说这个地方,我们点 点一下这个 run get, 好,来看一下 post not support, ok, 我们可以看到它这个地方不支持 post 方法,对吧? ok, 那么这个地方我们给它来一个 get 啊,改一下,很简单, 有些小细节,因为我刚才从我之前老代码粘贴过来,没有看戏啊,所以说大家不要学我, ok, 然后这次我觉得应该是没问题了吧,我们的参数,这个路径,传餐,还有这个请求方式现在都是对的, 那这回我觉得应该没问题啊,你看没问题,对吧?然后 get 方法给我们返回了一个 name 啊,就是他打印的嘛,这个地方我们打印的是这样的一个东西,然后他的这个 inspect 啊,就是期望他返回的是两百,也是没有任何问题的, ok, 然后也实际进到了这个方法,对吧?因为他现在打印了这个日志啊,第一段话打印了,没任何问题, ok, 然后 接下来呢,我们再测试一下这个 post 啊,这个就很简单了,我们直接把这个地方给大家拷贝过来,刚才是 get, 现在要变成 post, 然后,然后现在呢,它就需要去让我们传递一个 content 了,对吧?啊?你看这个地方,它有一个 content type, 是 application jason, 然后我们这个地方给他来一个 content 啊,他不能在这个 content type 的下面去加这个 content 啊,他只能在这个地方加 content。 呃,然后我们就这样吧,把这个地方给他粘贴过来啊,加一个 字符串给它粘贴过来,当然你也可以去。呃,在这个地方,比如说写一个 student 这样的一个类啊, stu, 对吧?然后给它 new 一个 student 之类的啊,在这个地方传递一个 jason 点 to string 啊,这个 student 也可以的,但是我只是为了快嘛,对吧?然后现在我们来运行一下这 方法啊, run post 丢,没问题,对吧?然后呢,返回我们传递的这个相同的对象,也没问题啊,所以说这个他就调通了,然后最后一个呢,是获取这个 header, 对吧?啊?这个我们一起来看一下。 回到这个 test case 啊,然后最后一个,我们通过这样来做,对吧?问题啊,我们这个地方接口已经调通了,对吧?然后他, 嗯打印的内容看一下,哎, token 一二三啊,我们得到了这个 user token, 对不对啊?所以说这种方式是可以很大程度的去模拟你的这个 啊, postman 的请求,或者说上节课我们讲到的那个 s c t b request, 那个文件,那个脚本啊,其实都是一样的啊,我比较倾向于用这种方式啊。其实。然后接下来呢,我们来讲一下这个 叫什么 run, 什么什么什么 with coverage 啊,这个 coverage 它其实是啊一个覆盖率的这样的一个指标啊,然后我们先点击一下它来运行一下吧,就是看一下它具体是一个什么样的东西啊,这个 get, 还有这个 post, 这个什么什么 test header 之类的, ok, 然后呃他可能需要一点时间啊,然后是在这个地方会有这样的一个东西啊,但是你会发现怎么什么内容都没有呢? 呃,其实是我们需要去编辑一下的啊,直接这样来做吧, added 的这个 configuration code coverage, 然后我们这个地方呢,就把它 呃设置一下啊,你可以看到这个地方我之前设置过啊,他是在哪个哪个包下的这个呃类,才会进行这个 coverage 的这样的一个呃统计,对吧? 但是我们同时可以再给他来加一个包啊,加一个 package 啊,比如说现在我们想统计是这个方定,然后下面这个 api test 这个包下的啊,你也可以统计这个 reposter 和这个 service 啊,你多选都没问题,对吧?然后点一个 这个添加啊,也就是什么意思呢?就是我们以后啊,这个包下面的啊,这四个包下面的所有的这些 class 啊,这些类都会进行这个 coverage 的这一个统计啊,我们来看一下这个实际的效果。 apply, ok, 然后重新运行一下它, 然后还是要选择 run 什么什么 with coverage 啊,就是他的一个呃覆盖率的这样的一个统计, ok, 我们再来运行一下他,然后看一下这个地方的内容会不会显现出来, ok, 他现在出来了,对吧?然后我们把它稍微拖大一点吧,拖到 到这个地方来,我们就看一下这个 api test 吧,因为我的这个 controller 里面它其实就是,呃,它其实就是去啊空跑一些内容,对吧?没有实际的去调用 surface, 还有这个 map 的东西啊 啊,总共是这个类,我们是都 cover 住了啊,但是它里面的一些方法,我们只是 cover 了这个百分之八十八,然后他的这个代码行呢,我们是 cover 了百分之九十二的这样的一个比例,对吧?然后我们可以双击来看一下这个类啊,你可以看到现在的这个 test control 这个类啊,他左侧有这样的一个东西。 ok, 这个是什么意思呢?就是当前这个方法我们是 cover 住了啊,我们可以点一下他,哎,我们是 cover 住了,对不对?然后他他这个地方是 coverage 啊,他是命中了一次,对吧?然后这个地方呢?他也是命中了,对吧?然后他发现了我们这个地方没有被命中,对吧?然后你比如说这个 at data 他没有 被命中,然后但是呢这个 student 因为呀命中了啊,因为我们这个地方有一个 new student 啊,所以说这个就是我们通常啊江湖传言的那个 啊,覆盖率的这样的一个测试啊。 ok, 那么以上呢,就是本期视频的一个全部内容了,如果大家觉得这个视频还不错的话呢,请帮忙点赞,投币分享,一键三连,支持我一下。那么如果你还没有关注我的这个频道呢,也请你点下关注啊,我这个频道是专注于程序员干货,视频教程分享,关于程序员身心健康的这样一个频道。 ok, 我们下个视频再见吧! peace。 等一下,等一下,等一下。最后呢,祝大家中秋节快乐啊,拜拜!
hello, 今天来给大家介绍一个 idea 懒人必备插件 square test, 它是一款自动生成单元测试的插件, 会用到它呢,也是因为之前公司上了代码质量管控的指标,会考评各个项目的单元测试覆盖率。那我们先来下载一下插件,那我在这呢选择 settings, 然后选择 pluggings, 然后复制粘贴,选择这样的一个 square test, 然后安装就可以了。那重启 id 之后呢,菜单栏这边就多了一个 square test 的一个选项, 那该怎么使用呢?比如说我这边有一个 unit service 的类,里面呢有几个方法,我现在要为这几个方法去生成他的单元测试类,那该怎么去生成呢?比如说我右击,然后有一个 generate, 然后这里面多出来 两个方法,那我们选择第二项呢,他就会弹出一个框,这边呢他会自动识别出当前内需要默克的成员变量,我们可以直接点。 ok, 那它自动呢,就会使用类的真实目录层次,在 test 文件夹中呢,给我们创建一个呃,单元测试类,类名呢,就是原类名后面加 test, 那这样是不是特别的方便呢?秒秒钟就达到了代码覆盖率到百分之九十以上。那如果说大家想要这样的一个 demo 以及之前的 demo 的话呢,可以到这来这,然后给他去发一个消息,像这样就可以拿到我们的 demo。 好,今天的一个分享呢,就到这。
就是我们测试之前啊,你要把用力写清楚,他的目的是什么,就是怕你露测试点。那个测试用力写完后啊,还是要有个用力评审的,那用力评审完后,一般比如说你的测试组长啊什么的 可能会参加,他主要目的就是说我们不要把这测试点漏了。而且一个跑的一个测试用力呢,并不是说你能看得懂就可以了,而是让一个不会测试的人,根据你的测试用力也能把这个完成,那这个测试用力就写的很到位了。
大家好,我是鱼皮,俗话说的好啊,这个工欲善其事必先利其器爱。第二是目前企业中最主流的加瓦开发工具,这个工具虽然本身就很强大了,但我们还可以通住安装各种各样的插件来增强他的功能, 事半功倍。那今天呢,我就给大家分享一波最最最实用的 id 二插件。其实之前在网上有很多类似的分享了,那我为什么还要做呢?一是这个插件中心换代太快了,很多的插件都失效了。 二十,网上的插件分享都比较零碎。三十,很多的插件分享就草草的描述一下就结束了,并不能带大家感受到这个插件到底有多强大,多好用。所以我也特地整理了一部 id 插件,并且把他们分为了几大类,并且从大量的插件中 又精挑细选了十几个插件,在这期视频中给大家一一介绍和演示,希望能够帮助大家提高开发效率。 那我也是很贴心的将全部的插件整理成了一份文档,放到了我的原创公众号程序员鱼皮中。还有一些第二,快捷键使用技巧,使用教程啊,都放在一起了,大家如果没时间看这个视频的话,可以先收藏起来,或者直接去领取文档 好了,希望小伙伴们可以把知识打在弹幕上,下面让我们开始吧。首先,我把精选插件分为了地品和天品两类, 地品就是一些简单好用,增强功能的插件,天品是提高开发效率和代码质量的插件。首先打开第二,哎呀,这个界面黑不溜秋,略显枯燥啊,那为了吸引大家看下去,我 换着背景好了,是不是穴位比长长好看一点了呢?那这个背景是怎么换的呢?其实很简单,打开 fal 塞挺一次,选中 plus 一次,在这里可以搜索插件,要介绍的第一个插件便是 babygrady maxplus, 有了这个插件,我们不仅能给编辑器换壁纸,还能随机换壁纸。进入啊 prans 啊 prans 这里有一个 barry max, 在这里就可以选择壁纸图片,还可以选择他的排版啊,透明度啊什么的,跟我们桌面换壁纸是一样的。 进入这个插件,我们可以选择壁纸所在的目录,然后呢,可以设置定时切换壁纸,比如说每折五秒切换一张应用。 ok, 现在这个壁纸就会自动更换。第二者插件是中文语言包哎,第二默认是英文的,那如果大家觉得看英文比较吃力,可以下载这个插件,用法不要太简单,安装之后直接拆洗就可以了。 好,现在我们的 id 二已经成功汉化,但是这个插件只能让工具本身进行汉化,我们写代码归根结底还是要面对大量的英文,如果看不懂怎么办呢?可以使用穿丝雷神翻译插件, 他非常强大,支持多种翻译引擎,支持多种语言,支持文档翻译,支持华词翻译。 比如我们选中一个不认识的单词,点击右键穿丝类的就能翻译了。哎啊,大家不要惊慌,我们墙外之人遇到这个是很正常的。可以 打开设置,搜索川思雷神,可以切换翻译引擎,然后点击配置,申请应用 id 和密钥,创建应用,选择文本翻译接入方式 api, 然后就能拿到这些信息, ok, ok, 再试一次选词右键翻译大中照成以后,遇到不认识的单词,也不用打开浏览器凡字典再去查了,非常方便。下一个插件是 kippoot 叉快捷键提示插件, 这玩意太有用了,你说说,哎,第二,那么多快捷键我能记下来吗?对吧?肯定记不住,但下了这个插件后呢?每当我们没有使用快捷键,插件都会提示说你可以用哪个快捷键来代替这个鼠标操作。我们甚至还能看到有 有多少次没有使用快捷键,像这个玩意,我二十八次都没用快捷键,所以我很有必要来学习这个快捷键,提高我的效率,也是可以帮助我们大大减轻记忆负担吧。 下着插件是 renbobrk 彩虹括号,假如我们写了这样一行烂代码,括号套括号颜色还都一样,很容易就懵逼了呀。 那如果拆起彩虹绰号插件,他会给你的括号上色,同级的括号颜色相同,让你阅读代码更加舒服,不容易找错签套关系。 下载插件是抽的这浪子代码小地图,当我们要阅读很长的代码文件时,一直用鼠标滚轮往下滑就很麻烦。大家看右上方,有了小地图插件后,我们可以很方便的对代码文件进行浏览, 还可以灵活跳转到想查看的代码,真的非常方便了。接下来是两个代码统计插件,先看挖叉探目,安装插件后,你要去官网申请一个 app, 之后呢?挖差探母会自动统计我们的项目和编写的代码,比如说我在什么时候写了代码,写了多少行代码,用了什么开发工具,修改了哪些代码文件,一看便知。 和他类似的插件有 spatstat, 也是代码统计,安装之后在下方菜单找到 spatstate, 做一番统计的设置,要选定哪些语言,排除哪些目录, 然后插件就会统计出我们的项目有多少种不同类型的文件啊,每种类型的文件他有多少行,有多少注视,有多少冲行,还有些汇总 什么的。那如果你要申请什么软助专利,需要统计代码行数的话,这个插件还是非常棒的。 下面是帮助我们提高开发效率和代码质量的甜品插件。首先是 sj mandeple, 雷神自负上岸处理, 安装插件后,选中字不串,右键可以看到各式各样的字不串处理方法,有什么转意加解密,切换风格,什么排序啊,对齐啊等等等等。当然了,你也可以在设置中增删改字不串处理的行为, 按艾奥特加栏目,还可以直接呼出菜单,配合数字键选择行为,实现无鼠标操作。 下着插件是 typen 人工智能代码,股权也是之前的床兜毯安装及生效。有了这 插件,我们可以获得比原来埃迪尔自带的更强大的代码补全能力,而且你还可以训练它,据说代码写的越多效果越好。然后是两款代码生成插件, 首先是 gsappapplus, 按 alt 加 s, 打开插件,粘贴一段,摘散数据, 然后插件就会自动帮我们把 gs 转换为对象,这些都是自动生成的代码。 另一个代码生成插件是 junit 战略 ret。 有了这种玩意,再也不用自己去编写又臭又长的单元测试类了, 使用前记得先在设置中修改生成的测试文件,位置路径要根据你项目的实际情况来设置,当然你也可以自定义生成的代码模板。 ok, 然后进入到你想要测试的类中,点击 右键詹纳瑞特双层单元测试,下着插件简直绝了。飞坤 stylem 可以根据代码帮助我们生成实序图,在代码文件中点击右键,选择 ctrl 带转,选择某个方法,然后得到实序图,可以查看方法间的调用顺序和关系, 还可以导出为图片或者 uml 类图,这在我们阅读原码和技术分享时特别有用。 下面插件是 resto two, 这是一套 restop 服务拆发工具集,我们大多数后台拆发同学的工作就是编写接口,什么登山摆茶 那如今非常流行的接口拆法规范,有了这个插件就可以很轻松的管理项目中的接口,大家看一目了然 然还能轻松查看接口的请求头,请求体,还有返回,甚至还可以在线调用,真的是非常的方便了。接下来是三款代码检查插件, 首先是拆除 style, 有了这种玩意,我们就可以指定一套代码规范,可以用现成的,比如主遮代码规范,也可以自己编写一个规范文件,在团队内部保持统一。 插件能够指出我们代码中写的不规范的地方,并且快速定位,从而优化我们的代码,指出我们代码的不足之处,帮助我们养成好的编程习惯。 类似的插件还有阿里巴巴、加瓦规范以及 sonant, 他们的用法和 chix 调很类似,检查出一些我们可能忽视的细节,给你一些好的建议,你也可以 在代码文件或者目录中点击右键主动扫描。最后这个插件真的拍案叫绝。买白题是差 是对加瓦知名数据访问框架买白提死的扩展功能包括美化图标,自动跳转以及最最最实用的代码生成。 选中数据表,点击右键打开生成器,然后配置一些生成的路径,指定一些选项,比如生成注视、生成注解和其他框架整合等等。 像这些加袜对象都是拿它生成的,没必要重复的编写。当然我最喜欢的一点还是因为它免费,虽然好用的买白提斯插件不少,但是免费的真的是太难得了。还有这个福瑞买白提斯 阿枕也是不错的,大家也可以试一下。好了,以上就是本期分享更多插件,大家可以在公众号后台回复 id 二获取,那如果本期视频有帮助,还请大家多多点赞收藏投币三连支持! 大家有什么好用的插件,也欢迎在评论区留言分享出来。我是鱼皮,一名分享编程章货的程序员,阿布主,我们下期再见!
编起用力是测试人员梳理需求的一个重要手段。经验丰富的测试人员在写的过程中会加入自己的思考及分析需求,消化需求的同时,经常会发现需求温暖中存在未被提及的问题,他可以帮助产品梳理,细化需求。编起测试用力的好处主要体现在以下几个方面第一,理清测试细节, 提高测试覆盖率,避免漏厕。二、通过详细的用力设计,反推是否有需求漏洞,提前发现需求的细节问题。 第三,提前准备测试数据,便于测试过程高效执行。四、测试过程中用于判断测试进度,预知测试风险。测试用力啊是测试的重要资产,便于测试内容回速测试、工作交接等。看懂了以上关于测试用力的作用,你还觉得测试用力不重要吗?
在我们 id 工具当中,如何给一个类快速的生成注视信息呢?来演示一下。首先打开系统设置窗口,打开之后呢,找到 id 叉下面有个发呀安的扣的 tomplex 文件和代码的模板,然后右侧呢找到 clus, 然后找到之后呢,在右侧这个类的上面加上这个类的模板信息啊,比如像报名是吧,作者日期、版本、版权等信息,加上去之后应用啊,然后点击, ok, 那么这个时候呢,我们尝试去新建一个类 啊,克拉斯啊,这个类呢我们就叫 t 吧,直接回车,你会发现这个类上自动会我们添加注时信息。
点点,你测试用力写完了吗?啊,没呢,现在用力真的好烦呀,总是怕漏侧,哎,坏了你怎么使这么快呀? 难道是用 ai 自动生成的? ai 都能写测试用力的话,你就失业了。来,今天我来教教你如何提升测试用力的编写能力。一、善用思维导图工具,快速梳理背册系统的功能、模块、结构关系以及对应的测试点,让自己先要对测试的内容有个整体的框架和印象。 第二,我们要多维度的思考和覆盖,从功能、界面、性能、兼容性、异常等角度去思考,尽可能的覆盖测试用力更广。三、要熟悉被测的业务和系统。 当你对系统越熟悉,越容易发现系统的特点,找到容易出现错误和异常的地方。四、我们测试要有产品和用户思维,想清楚客户需要什么,客户想要什么,客户不想要 什么,这样才有利于我们更好的挖掘和思考一些隐形的需求。第五,我们要重视测试用力的评审。每个人的测试角度不一样,让更多的人看到自己的测试思路和用力,可以帮我们去查漏补缺。那能不能给我几个你写过的测试模板呀,我去学习一下。
哈喽,大家好,我是于仔。在工作过程中,大家有没有遇到过要对比两个文件的情况,这两个文件可以是 java 的两个类,也可以是两个普通的文件,又或是两个已经打完的架包。 当遇到这种需求的时候,不需要去网上找其他软件, idea 本身就自带了十分强大的文件对比功能, 我新建了两个类,分别命名为 test 一和 test 二。当需要对两个文件进行对比时,只需要选中这两个文件,右键选择 compare files 就进入到了文件对比窗口。 介绍一下这个功能如何使用。首先在上方有一条工具栏,上下箭头代表前一个不同点和后一个不同点,这个看着像编辑一样的按钮是跳转到鼠标所在文件的原文件位置。接下来是三个下拉, 第一个下拉框表示展示差异的方式,有赛的、白赛的,分两个文件展示差异,也有 unifi 的,也就是两个文件在一个文件中展示,我个人还是喜欢赛的白赛的的方式。 第二个下拉框是在对比时可以忽略一些不想要的对比,比如想要忽略空格的对比,或者忽略空行的对比,就可以通过这里进行选择。 有的时候两个代码文件之间会有格式化的差异,就可以通过最后一个选项忽略掉。第三个下拉框是高亮的内容, 默认是对整个单词进行对比,高量,也可以高量整行,又或者是对每个字符进行对比,高量。如果要将左右有差异的内容替换到另一个文件上,就可以点击中间左右方向图标,可以实现对比,文件也是同样的方式,再来 来展示一下对比两个架包,现在有两个架包,分别是架一和架二,选中两个文件,右键选择对比文件,可以看到架包中两个不同的文件立刻就被展示了出来。 除了对比内容之外,还可以对比文件大小、文件生成时间等,十分实用。以上就是本期视频的全部内容了,我是于仔,我们下期再见。
我们来了解一下测试用力构成的八大要素,那首先的话呢是用力编号,那用力编号的话是用力的一个唯一标识,那么用力编号一般是怎么来写呢?我们可以啊,先写一个项目的名称,然后下划线啊,再加上这个当前所测项目的一个功能模块的名字,在下划线写上这个 对应的用力的一个编号的数字。比如说第一条用力的话呢,我们就是零一,第二条呢就是零二,当然我们也可以简单来写,简单的话呢就是可以自己写我们当前测试的一个模块名,在下划线对应的一个用力编号的数字,当然也可以啊,只写编号对应的数字就可以了。第二个呢就是我们的测试的一个项目,那么测试项目的话是用力所属功能的一个模块,像我们刚刚呢是 呃一个 qq 的一个登录功能,所以呢这个模块就是登录三呢是测试标题,这个标题的话主要是对当前这个呃测试点的一个简要的概述啊,主要是明确要测什么样的内容,以及呢你期望呃得到一个什么样的结果。
ezco 的代码生成器,对于家务成员来说,日常工作中的 cld 必不可少,每次都要创建 ctrlrs、 d a o 等代码,还是很繁琐的, 这里咱们可以通过 ido 中的 ezq 的插件解决这个问题,接下来咱们来演示一下,这边有一个空的 supreme 项目,然后呢这边我已经连接上了数据库,里面有一张表,十六寸的表右键,然后通过 ezq 的生成代码, 然后这里可以全选,然后这里有 controller map, 还有对应的 service, d a o, 还有实体对象, ok, 确认确认确认, 这边就已经生成了咱们的对应代码,然后这里有 siris 实体,还有 d a o, 并且它这个 map 里面嘛还有一些常用的方法,比如说一些查询呐,一些批量插入啊。 e z 扣的还支持自定义模板, 通过 settings 阿德 settings 可以看到 ez code 的相关配置,可以配置作者信息,从云端或者从本地导入导出一些配置信息。 type mapper, 这就是配置数据库,字段和家务类型对应关系可以进行修改。 timelit, 这就是咱们的代码生成模板, 这咱们这边可以根据实际情况进行配置,比如修改 ctrl 里面的返回值,对应的说明文档也非常详细, 可以修改一次,做到一劳永逸。最后咱们再看一下它的插件,是在 plug ins 里面的, e z q 的就是这款插件,小伙伴们还有什么好用的代码生成工具吗?评论区分享一下。
什么是测试用力?测试脚本?两者的关系是什么呢?啊?什么是测试用力?什么是脚本测试?两者的关系是什么呢? 为实施测试向被测试系统提供的输入数据操作或各种环境设置以及期望结果的一个特定的集合。测试脚本是为了进行自动化测试而编写的脚本。测试脚本的编写必须对应相应的测试用力。
哈喽,大家好,我是老杜,今天和大家分享一个矮第二工具的一个小妙招啊,就是有一个例子的集合,大家看到了,我们往里边加了啊,三个元素,是吧?接下来我假如要对这个例子的集合进行便利啊,自己写一个增强放循环可能比较麻烦是不是? 那么这个时候怎么快速的生成?哎?你内部粒子的拿过来,然后呢?点缝回车就行了。再来一遍啊,就是内部粒子的点后面写一个缝啊,然后回车就可以了。
一个好的测试力都有哪些特点?根据老王的经验,一个好的测试力一般包括下面这些特点,用力要完整、简洁、一致,至少含有用力。编号测试像操作步骤和仪器结果。 用力要表明测试目的,用力的覆盖程度要高,用力能够使测试的工作量最小化。用力要含有正确、规范的测试标题和编号, 用力的分类以及描述要足够清晰。用力要具有可测试性,要求可以复用,可以在吸满本中复用之前的用力。用力必须具备可重复性,不管谁执行此条,用力结果应该都是一样的。用力还要有可跟踪性,能够反向跟踪到一个具体的需求上。 如果你并且用力能够满足以上这些特点,就算是一个非常好的测试用力了,你学会了吗?
哈喽,大家好,我是老杜。今天啊,和大家还是分享一个这个矮第二工具的使用技巧吧。那我们来看一下啊,左边这是一个工程的一个窗口是吧,那么这个窗口呢,有的时候啊,可能就把这个叫做类名,可能就挡住了,挡住的 话呢,有一种方式我们可以调整这个窗口大小。怎么做呢?光标停到这个分割线上是吧,然后呢往右往左拖拉。那这种方式啊,可能是比较慢,有个快捷键啊,我发现有个快捷键啊, 怎么做呢? ctrl 加 shit, 加右箭头,你看加左箭头,右箭头,左箭头,你看这样哎,也挺方便的啊,用这个鼠标的话,可能是有点费劲,还是用快捷键比较快点。
为什么需要测试用力?有同学问宋老师,测试过程中他会需要写测试用力吗?能否不写呢?如果你是一名极有天赋的测试员,当然可以不写,因此,从实践角度出发并非必须的。但对一般的团队而言,用测试用力可以带来如下多种好处。 下面是使用测试用力的重要原因。一、可以降低进入测试过程的门槛。软件测试是一项专业的工作,对测试员的技能要求较高,使用测试用力可以帮助测试员迅速投入测试工作, 降低进入测试过程的门槛。测试用力是已经定好的操作步骤和预期结果,测试员只需要按照测试用力逐步执行即可,避免了繁琐的思考和规划,节省了时间和精力。二、可以指导测试的思路,减少重复动作和遗漏。测试用力能够帮助 注册人员理清思路,进行比较系统的测试。通过使用测试用力,测试人员可以有条不稳的执行每一个操作步骤,并验证预期的结果是否符合预期,这样可以减少不必要的重复动作,避免测试遗漏,以确保系统的全面和完整性。 三、确定测试重点和油烟机试用力可以帮助测人员离清测试重点,明确测试的优先级。通过对测试用力进行分类和标记,我们可以确定哪些功能是优先测试,避免在紧急情况下手忙脚乱。 四、简化车的流程,提高工作效率。次用力已经定义好了每个操作步骤和预期结果,车辆员只需要按照车辆用力执行即可,无需每次都从头思考和规划车的流程,这样可以简化车的过程,提高工作效率,车辆员可以保持长时间的积极工作状态,更快 快速的完成测试工作任务。五、记录工作见证和汇报的依据测试用力是测试工作的见证和汇报依据。通过测试用力,我们可以清晰的记录测试过程中测试哪些功能,还有哪些功能没有测试到最后,我们向上级报告测试进度和结果,提供了重要的依据。 六、存放灵感,拓展测试思路测试用力还可以记录测试人员的灵感和新的测试思路。在测试过程当中,我们可能会发现一些与测试用力不完全匹配的场景,这时我们可以记录下来作为新的测试用力,拓展测试的广度和深度。七、改进测试工作 通过测试用力,我们可以清晰的看到哪些测试用力发现了较多的 bug, 哪一测试用力可能需要进行改进和调整。这些数据对于改进未来的测试活动非常有帮助。我们可以根据测 结果和统计数据,优化测试用力的设计和执行,提高测试效果和发现问题的能力。因此,宋老师认为无论你是否有天赋,使用测试用力都是一种非常不错的选择。
你说一下你之前项目的测试用地的编写流程吧?嗯,好的。呃,第一,先生熟悉并分析这个项目业务需求,从而了解产品的业务和功能点。那第二呢,就是根据需求里面的功能模块 进行细化分析,使用一些用力设计方法,比如等价类边界值,呃,场景法、错误推测法,还有这个因果图法等,呃,去设计测试用力,用特定的模板编辑好就可以了。那第三呢,就是每个功能模块写完测试用力之后。嗯,我们可以从业务流程出发去考虑是是不是覆盖了这个所有的, 如果没有就进行补充。那第四呢,就是,呃,还需要补充 ui 界面测试啊,那个兼容性测试、性能测试、安全测试等。用力,那最后测试用力编写完成后呢,就是需要提交评审。不错,回答的很完善。
测试用力设计,我告诉你一个回答,直接面试,回答照搬。首先,用力根据产品文档定义的规范确定用力设计范围, 包括功能、性能、安全、网络兼容性、稳定性、 ui 界面专项测试这八大维度。一般呢,面试官会根据自己公司测试岗位的能力,需要,从这几大维度中挑几种来问。你。 还是那句话,给面试官挖坑,自己跳会了说别挖坑,把自己给埋了啊。功能主要依据产品文档本次迭代的业务流程、业务数据流转前后版本业务的功能兼容运用。常用的用力设计方法,覆盖所有业务。用力设计 网络主要考虑的就是应用无网弱网。这里的弱网包含弱网重连超时成功,超时重连失败的场景。我们呢,要测试应用在这些网络环境下的友好提示和交互显示等。性能,主要考虑的是后端实现的一些主要接口存在高 并发场景的接口。性能测试。别人说什么监测服务器 cpu 啊,内存 io 这些常识我就不说了。除此之外,你还需要进行一些业务接口组合后的集合点并发测试,确保高并发。之后呢,业务数据的存储或异常被正确处理。 因为一般公司的开发,说实话,数据库设计包括异常处理设计之法真的很烂,被测出了很多的问题。其他的我就不说了,太多了。需要的可以三连屁颠屁颠的来找我,我发你。
测试用力怎么设计才能考虑的比较全面呢?嗯,面试的时候啊,面试官都会至少问一个测试用力的面试题,给你一个场景,让你设计测试用力。我整理了一套万能的测试用力设计方案,按照我这个模板来,保证面试官给你满分,先点赞收藏,再仔细听完。 我们设计用力时主要从功能、性能、安全、网络兼容性、 ui 界面专项测试这几大块来进行。其中功能重点关注我们软件产品有没有实现。具体的功能是通过各种测试方法论设计测试用力来进行测试。 性能上我们主要考虑功能操作的响应时间以及服务端 cpu 内存网络此单 io 的消耗情况。安全上我们这边没有深入的进行测试,但是有一定的了解。我知道需要进行敏感信息是否加密丝后注入等一些简单的 安全测试。那么网络上我们需要关注无网络,若网网络之间的切换的测试点。兼容性上主要关注不同的版本兼容。如果是前端界面,需要关注分辨率等的测试。如果是手机,需要关注操作系统的兼容性。 ui 界面上主要是关注一些 ui 测试点按钮是否可用,界面之间是否能够顺利的跳转布局等。这些测试专项测试主要是针对一些独有的功能进行测试,你明白了吗?
哈喽哈喽大家好,我是荔枝。今天收到了一个最近入职软件测试这个行业的一个小伙伴的一个私信, 因为他最近要测试他自己接手的第一个项目了。现在目前用力是已经写完了,接下来几天就到了用力评审的这个环节。因为之前也没有评审过,所以他就私信我 问了一下,作为测试人员在用力评审这一块要做哪些准备。今天呢,就用这个视频来展开说一下用力评审这一块的一个内容。首先要明白的呢,就是 用力评审他的一个目的。用力评审其实就是将我们的开发人员,测试人员以及我们的产品这些主要项目负责人聚集起来,确认 针对我们测试用力去进行评审,他是否是符合我们这个项目的一个测试的。那因此测试员最基础的要准备的就是 你要把你的用意写好。其次呢,你要发通知,比如说你开平时的地点啊,谁的领会时, 那个时间段要通知到相关的参与人员。那有必要的时候呢,可以将自己已经写好的用力发给这些参与评审的相关人员,提前先查看 动力平衡的整个过程。主导人员是我们的测试人员。因此在这个过程中呢,你要将你输出的用力呢,设计的一个想法,以及你设计的每一条用力去进行一个讲解。如果你的项目很大,用力很多,所以这里就需要你在 简历的时候呢,要去对每一个模块去进行一个区分,并且在讲解的过程有疑问的地方,还有一些隐藏的逻辑以及一些注意点要同步给我们的 开发,还有我们的产品。同时在评审的过程中,参与人员如果有提出自己的建议是可以采纳的呢,你这时候也要标记下来,或者说记录下来,直到评审结束之后呢,将这些修改的点 去更新到我们的用力里面,平整过后的用力呢,作为我们最终执行的用力。好了,今天就分享到这里,拜拜。
大家好啊,今天给大家讲一下这个车身用力的设计方法有哪些啊?他包括了我们这个等价类,边界值判定表、错误推测法、状态迁移图、 场景法、正焦法、因果图啊等这八种方法。那么呃等价类呢?它是用于什么样的情况下呢?它是用于具有输入功能,但是输入之间没有组合关系啊,比如我们有的有输入框啊这种,那这个时候的话,我们可能会啊遇到用到这个等价类啊。 第二个呢,我们这个并列直,并列直的话,他是要用于这个有并列长度的一个要求限制啊,比如我们的电话号码啊,他要求你只限制十一位啊。 那么第三个呢,就是我们这个判定表,判定表的话呢,他一般和这个应有图啊,他都是用于比如说存在多输入多输出,而且输入和输出之 间存在这种依赖或者制约的关系,这个时候我们可以用到这个判定表或者因果图啊。那么呃,然后呢,还可以用到这个正交法,正交法的话,他是比如说我们存在很多这种输入情况,组合情况,那么这种情况的话呢,嗯,我们不可能完全覆盖所有的用力啊, 那这个时候的话可以用到我们正加法,正加法的话他是用最小的测试用力,获得最大的一个测试覆盖率啊。呃, 还有一种啊,最后一种,这个场景法,场景法的话呢,它是用于这个多个功能的组合测试啊,一般情况下是说我们要比如说我们测一个整个的这么一个业务流程啊,我们有一个基本流,还有一个异常流啊,这个时候的话可以用到我们这个场景法啊。 那最后的话呢,我们可以用到这个错误推测法。错误推测法呢?就是根据我们个人的一个相相关经验啊,比如说我们觉得这个地方可能会存在问题, 这个时候呢,根据我们的经验,我们可以设计一条测试用力啊去,呃,测测试他这个时候是我们个人的一个经历的积累啊。对,这个某个地方啊,可能会存在这样的问题啊。
在 idea 中进行程序调试的几个小技巧,看一下代码实例,这个代码比较简单,这个方法是用来进行计算的,我在第五行加了一个断点,咱们来执行一下, 现在想断点调试第七行,一般来说我们可以在第七行加入断点,然后直接往下走即可。这里咱们有个更好的办法,可以将光标移到第七行,通过 outf 九 就可以直接到断点我们光标的所在位置,现在想查看按的的方法加和是多少。咱们在这里可以输入表达式,然后敲击回车,可以看到他的返回结果。同样咱们也可以通过快捷键 outf 八唤醒双口, 然后同样输入表达是敲击回车,也可以看到他的返回结果。并且这里可以动态对参数进行复制,比如这边的 a 我复制为四,敲击回车 后,咱们在这边会发现他的 a 值已经变化了。同样如果咱们再用这个表达式,发现他的返回结果已经变成了六。最后再看一下在循环中调试指定条件,看一下代码视力,这是一个放循环, 我只想在 i 等于四的时候进行调试。这里咱们可以打入一个断点,然后鼠标右键在这个地方输入咱们的条件,比如说这里就是 i 等于四,点击完成,咱们在 debug 运行一下,会发现只有 i 等于四的时候进入了断点。小伙伴们还有什么实用的调试方法吗?评论区分享一下。
![]() |
成熟的小刀 · 广州白云山医院官网-广州白云山医院 10 月前 |
![]() |
坚强的手链 · 领略东南风采,播种梦想之花——南京市第九中学师生来我校学习参观 10 月前 |
![]() |
不要命的鸡蛋 · 中国石油大学(北京)克拉玛依校区石油学院 1 年前 |