Unit Test 1--什么是单元测试

大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。
本篇主题是:什么是单元测试

其它文章链接:
Unit Test 2–IDEA配置并查看单元覆盖率
Unit Test 3–编写单元测试之前需要了解的单元测试框架Mock
Unit Test 4–自动生成单元测试插件之TestMe与Diffblue
Unit Test 5–编写第一个单元测试
Unit Test 6–单元测试踩过的坑
Unit Test 7–单元测试覆盖率表单生成交付,Jacoco的使用

文章背景:

通常我们都会被要求到写单元测试,并且达到60%~90%范围内的一个固定指标(具体因公司和项目安排,我上次是80%)。其实不管是单元测试率(Coverage)、异味代码(codesmell)等都是一个项目的指标而已,可以体现一个项目更优。

什么是单元测试?

我这里也不想引用任何官方术语,单元测试就是要写n个测试单元,让所有单元成功跑我们的业务类、方法、分支代码,其实最终都是跑代码行,跑过的地方越多,覆盖率越高。一个项目中所有的单元测试率组成我们常说的指标单元测试率的覆盖率。关于写单元测试和测试工作后面会讲。

单元测试覆盖率又分为4个指标

  1. 类覆盖率
  2. 方法覆盖率
  3. 行覆盖率(重)
  4. 分支覆盖率(下图未展示)

  其中行覆盖率是比较重要的指标,我们项目80%其实看的就是行覆盖率,但是一般行覆盖率达到80%说明其他几个指标也基本不会低于80%。
在这里插入图片描述
本文结束!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很好,我理解了你的问题。以下是一个可能的解决方案: 假设我们要测试的方法是一个名为 `computeSum` 的静态方法,其功能是计算给定整数数组中所有元素的总和。我们可以使用 JUnit 框架来编写单元测试。以下是一个示例测试类的代码: ``` import org.junit.Test; import static org.junit.Assert.*; public class MyMathTest { @Test public void testComputeSum() { int[] arr1 = {1, 2, 3, 4, 5}; int[] arr2 = {-1, 0, 1}; int[] arr3 = {0}; // Test case 1 int expected1 = 15; int actual1 = MyMath.computeSum(arr1); assertEquals(expected1, actual1); // Test case 2 int expected2 = 0; int actual2 = MyMath.computeSum(arr2); assertEquals(expected2, actual2); // Test case 3 int expected3 = 0; int actual3 = MyMath.computeSum(arr3); assertEquals(expected3, actual3); } } ``` 在这个示例测试类中,我们定义了一个名为 `testComputeSum` 的测试方法。该方法包含三个测试用例,分别测试不同的输入数组。在每个测试用例中,我们通过调用 `MyMath.computeSum` 方法来计算实际结果,并将其与预期结果进行比较。如果实际结果与预期结果不相等,则测试失败。 我们可以使用 `assertEquals` 方法来进行比较。该方法将两个参数进行比较,并在它们不相等时抛出一个 `AssertionError` 异常。如果所有测试用例通过,测试类将显示“OK”消息。 总之,这是一个基本的示例,你可以根据自己的需要进行更改和调整。希望这可以帮助你开始编写单元测试

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值