Java单元测试浅析(JUnitMockito)
作者:京东物流 秦彪1. 什么是单元测试
(1)单元测试环节:
测试过程按照阶段划分分为:单元测试、集成测试、系统测试、验收测试等。相关含义如下:
1) 单元测试: 针对计算机程序模块进行输出正确性检验工作。
2) 集成测试: 在单元测试基础上,整合各个模块组成子系统,进行集成测试。
3) 系统测试: 将整个交付所涉及的协作内容都纳入其中考虑,包含计算机硬件、软件、接口、操作等等一系列作为一个整体,检验是否满足软件或需求说明。
4) 验收测试: 在交付或者发布之前对所做的工作进行测试检验。
单元测试是阶段性测试的首要环节,也是白盒测试的一种,该内容的编写与实践可以前置在研发完成,研发在编写业务代码的时候就需要生成对应代码的单元测试。单元测试的发起人是程序设计者,受益人也是编写程序的人,所以对于程序员,非常有必要形成自我约束力,完成基本的单元测试用例编写。
(2)单元测试特征:
由上可知,单元测试其实是针对软件中最小的测试单元来进行验证的。这里的单元就是指相关的功能子集,比如一个方法、一个类等。值得注意的是作为最低级别的测试活动,单元测试验证的对象仅限于当前测试内容,与程序其它部分内容相隔离,总结起来单元测试有以下特征:
1) 主要功能是证明编写的代码内容与期望输出一致。
2) 最小最低级的测试内容,由程序员自身发起,保证程序基本组件正常。
3) 单元测试尽量不要区分类与方法,主张以过程性的方法为测试单位,简单实用高效为目标。
4) 不要偏离主题,专注于测试一小块的代码,保证基础功能。
5) 剥离与外部接口、存储之间的依赖,使单元测试可控。
6) 任何时间任何顺序执行单元测试都需要是成功的。2. 为什么要单元测试
(1)单元测试意义:
程序代码都是由基本单元不断组合成复杂的系统,底层基本单元都无法保证输入输出正确性,层级递增时,问题就会不断放大,直到整个系统崩溃无法使用。所以单元测试的意义就在于保证基本功能是正常可用且稳定的。而对于接口、数据源等原因造成的不稳定因素,是外在原因,不在单元测试考虑范围之内。
(2)使用main方法进行测试:@PostMapping(value="/save") public Map save(@RequestBody Student stu) { studentService.save(stu); Map params = new HashMap<>(); params.put("code",200); params.put("message","保存成功"); return params; }
假如要对上面的Controller进行测试,可以编写如下的代码示例,使用main方法进行测试的时候,先启动整个工程应用,然后编写main方法如下进行访问,在单步调试代码。public static void main(String[] args) { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); String json = "{"name":"张三","className":"三年级一班","age":"20","sex":"男"}"; HttpEntity httpEntity = new HttpEntity<>(json, headers); String url = "http://localhost:9092/student/save"; MainMethodTest test = new MainMethodTest(); ResponseEntity
地球文明一直在循环往复?15万年前的工业痕迹,在青海出现综述人类在地球文明中起到举足轻重的作用,历史赋予我们以力量,但切莫得意忘形了,我们当真了解地球文明的全貌吗?位于青海的一座小小的山峰,就足以让足智多谋的我们犯了难,真是咄咄怪事!究
陕蒙边界纠纷陕蒙边界纠纷作者郭峰来自老郭说史自古以来,中原王朝与北方草原王庭就没有明显边界。说北控大漠西抵流沙,是大概范围,不像现在,精确到寸,一寸河山一寸血,十万青年十万军。中原王朝强盛了,
劫富济贫真男人!英超狼队VS纽卡斯尔联昨天文章里分享的日料出现了一点小问题,不过视频分享的利物浦思路没有问题,上半场便结束了比赛,今天继续给大家带来一场英超的精彩对决。狼队作为由中国复星集团全资控股的英超球队,相信老球
滕哈格卡塞米罗见识了英超的比赛风格,C罗不一定会离开英超第4轮,曼联客场10击败南安普顿。在赛后的新闻发布会上,曼联主帅滕哈格谈到了卡塞米罗的首秀表现以及C罗的情况。滕哈格表示,很高兴看到卡塞米罗完成首秀,他见识到了英超是什么样的比
2。2分高了,油腻到呕!救命,别再拍了中秋假期刚过,相信大家一定还沉浸在放假的喜悦中。趁着喜庆,乌鸦就跟大家聊点热闹的。一部豆瓣开分只有2。4的烂剧,凭借油腻和辣眼睛,狂炸微博热搜好几次的东八区的先生们太可怕了。豆瓣2
越来越多的酒店设置钟点房,什么人喜欢开钟点房?4小时能干嘛呢经济在高速的发展,人们选择旅游,释放身心,毕竟压力越来越大,随之而来的困扰就会越来越多。如果不能找到平衡点,一旦崩溃的话,将会十分的难受。(此处已添加小程序,请到今日头条客户端查看
梦回九寨九寨沟之行游记神奇的九寨,人间的天堂。也曾魂牵梦绕,也曾朝思暮想,只为想念梦里九寨。虽不能至,心向往之。终得机会,说走就走,奔赴山海,追逐热爱。远离喧嚣,寻一处静谧。去旅行,投入自由无羁的大自然
中国古堡风云明末晋东南的历史之旅寻晋之美,总是绕不开晋东南。地上文物看山西,这里古建筑数量之多质量之高类型齐全保存原始,独步全国,尤以晋东南地区的古建筑分布集中,惊艳出彩寺观彩塑壁画,过往的晋东南旅行路线带我们领
一定要去东灵山看看,那个寄托美好愿望的北京屋脊每次出游都不想离市界太近,盛夏已过,还没有看到灵山的草甸,终于大着胆子出发啦!导航江水河村江水河村940出发从城区到灵山是120公里,开学前的最后一个周末,从出家门,加油,上路都需
甘肃人游甘肃乡村旅游乐享金秋推广发布活动举行甘肃人游甘肃乡村旅游乐享金秋推广发布活动举行每日甘肃网兰州讯(新甘肃甘肃日报记者施秀萍)8月26日,由省文旅厅主办的甘肃人游甘肃2022甘肃乡村旅游乐享金秋推广发布活动以线上线下结
火药味十足!华为Mate50硬刚iPhone14,经销商都不想囤货本文来源时代财经作者王婷资料图图源pexels今年9月,华为Mate50系列与iPhone14系列将几乎同一时间抢占高端市场,这意味着苹果公司和华为迎来正面对战。8月25日,苹果公