首页 > 其他分享 >Unit Test =》 Coding refactore 反思

Unit Test =》 Coding refactore 反思

时间:2022-12-08 08:44:08浏览次数:37  
标签:code Unit Coding but 依赖 refactore Test bug mock

为了完成 80% 以上的行覆盖率, 我对代码 进行了哪些 重构? 

 

 

1. 组合 》继承  ,but 取决于 具体的应用场景

便于 mock 接口。 继承 通常 需要更多的依赖,but 组合 需要 更少的依赖  =》更多的依赖 意味着 更多的 mock

 

2. code 拆分为 更细的颗粒 : 增加 接口&实现。 对大段代码 进行 逻辑拆解

更小的mock 范围 =》 更少的依赖, 更容易 进行 分支mock

 

3. 发现bug =》 修复bug:

正常运行一段时间,很少发现bug。 but 仍可发现少数 漏网之鱼。

 

总结:

Unit test 是否可以容易进行,很大程度 取决于 code的 解耦程度  =》越精细化的UT, 越高的 UT覆盖率, 则 要求 越高水平的 code解耦。

标签:code,Unit,Coding,but,依赖,refactore,Test,bug,mock
From: https://www.cnblogs.com/panpanwelcome/p/16965126.html

相关文章

  • 解决WARNING: There was an error checking the latest version of pip.
    解决WARNING:Therewasanerrorcheckingthelatestversionofpip.问题警告:检查最新版本的pip时出错。报错原因:需要升级pip版本才可以安装其他模块。解决方法:升级p......
  • Minetest大师:1.0.6版本发布
    Minetest大师Minetest大师,一款致力于Minetest的游戏盒子​​​http://1.14.176.171:9091/mtweb/files/update/mtdashi_latest.exe​​1.0.6版本增加单机游戏页,方便玩各类子......
  • x_train, x_test, y_train, y_test到底是什么?
    1.x_train:包括所有自变量,这些变量将用于训练模型,同样,我们已经指定测试_size=0.4,这意味着来自完整数据的60%的观察值将用于训练/拟合模型,其余40%将用于测试模型。2.y_tra......
  • 火山引擎 DataTester:如何用 A/B 测试做产品增长?
    技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群随着如今越来越高的获客成本,用户拉新变得不再容易;而且由于获客成本的增高,让用户留......
  • Jenkins+Pytest+Allure
    环境准备Pytest负责Python代码测试Allure负责测试报告HTML界面展示Jenkins负责自动化测试安装完后,可以先来使用一下找一个使用Pytest的项目,直接去github......
  • test
    #������skynet####skynet��������-skynet��һ������ʮ��ij���Ĺ�����Դ��������Ϸ������������ܡ�Ҳ����Ƕ��ʽ,������,web��������ҵ������ʹ�á�-������ʹ��skynet���ߵ���ҵ��Ŀ-���ʹ��c��lua������ʵ��ʹ��ʱ,��Ҫ��ʹ��lua��ɹ��ܡ�-github��ַhttps://github.com/cloudwu/sky......
  • Demo Test
    Thisisademotask.Writeafunction:classSolution{publicintsolution(int[]A);}that,givenanarrayAofNintegers,returnsthesmallestpositivei......
  • [Leetcode Weekly Contest]322
    链接:LeetCode[Leetcode]2490.回环句句子是由单个空格分隔的一组单词,且不含前导或尾随空格。例如,"HelloWorld"、"HELLO"、"helloworldhelloworld"都是符合要求的......
  • 【题解】The 2022 ICPC Asia Hangzhou Regional Programming Contest (第 47 届 ICPC
    D.MoneyGame一开始有\(n\)个人围成一圈,第\(i\)个人手上有\(a_i\)的存款(实数),每一轮从第一个人开始,每个人把自己手上的一半存款给下一个人,问稳定时每个人手上存款......
  • pytest + yaml 框架 -5.调用内置方法和自定义函数
    前言在yaml用例文件中,有些数据不是固定的,比如注册账号,我需要每次生成不一样的,那么我们可以调用自己定义的函数pip安装插件pipinstallpytest-yaml-yoyoyaml中调用内置方......