单元测试——Junit使用(一)

一、单元测试的相关概念
在这里插入图片描述

最上层的叫UI测试
中间的叫接口测试
最下层的是单元测试

一、什么是单元测试

测试是一种验证我们的代码是否可以按预期工作的手段
被测的对象可以是我们程序的任何一个组成部分。大到一个氛围多步骤的下单流程,小到代码中的一个函数。
单元测试特指被测对象为程序中最小组成单元的测试,这里最小组成单元可以是一个函数,一个类等。

二、单元测试的优缺点
保证代码的质量;提高开发效率

三、测试框架TestNG
1、 描述:TestNG是Java中的一个测试框架,是一个目前很流行实用的单元测试框架,有完善的用例管理模块,配合Maven能够很方便管理依赖第三方插件。使用TestNG可以做功能、接口、单元、集成自动化测试。常常结合selenium做功能自动化测试。
2、 测试人员一般用TestNG来写自动化测试,开发人员一般用Junit写单元测试
3、 TestNG适合测试人员的原因:
       1) 比Junit涵盖功能更全面的测试框架
       2) Junit更适合隔离性比较强的单元测试
       3) TestNG更适合复杂的集成测试

4、 编写一个测试的过程包含的步骤:
       1) 编写测试的业务逻辑并在代码中插入TestNG annotation
       2) 将测试信息添加到testng.xml文件或build.xml中
       3) 运行TestNG

5、TestNG:Java单元测试框架,功能比Junit强大,级别更细,主流

四、测试框架Junit

1、 概述:
       1) Junit是用于编写可复用测试集的简单框架,是xUnit的一个子集。xUnit是一套基于测试驱动开发的测试框架,有PythonUnit、CppUnit、Junit等
       2) Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何完成功能和完成什么样的功能
       3) 多数Java的开发环境都已经集成了Junit作为单元测试工具,比如eclipse

2、 为什么要使用测试工具
       1) 测试框架可以帮助我们对编写的程序进行有目的的测试,帮助我们最大限度的避免代码中的bug,以保证系统的正确性和稳定性
       2) 很多人对自己写的代码,测试时就简单写main,然后syso输出控制台查看结果。这样比较枯燥繁琐,不规范。缺点:测试方法不能一起运行,测试结果要程序员自己观察才可以判断程序逻辑是否正确
       3) Junit的断言机制,可以直接将我们的预期结果和程序运行结果进行一个对比,确保对结果的可预知性

3、 Junit的详解
1) 注解:@注解名,作为一种标记来对后面的内容进行解释执行
2) 常见的注解名及解释
       @BeforeEach/@Before:标记的方法会在每次测试方法前,被调用一次
       @Test:标记的方法为测试方法
       @AfterEach/@After:标记的方法会在每次测试方法后,被调用一次
       @BeforeAll/@BeforeClass:在类的所有方法开始前调用一次,方法必须用static修饰
       @AfterAll/@AfterClass:在类的所有方法结束后调用一次,方法必须用static修饰
       @Disabled/@Ignore:忽略测试方法,标记的测试方法不会别执行
       @DisplayName(String name):设置测试显示名
       @ParameterizedTest:标记的测试方法会通过参数化来执行,只能标记在@Test注解之上
       @MethodSource(value = String 参数化方法名):标记的方法为参数化方法,用来给测试方法提供具体的参数值
参数方法

public static Collection<Object []> 参数化方法名(){
           return Arrays.asList(new Object[][]  {})}

断言:Assert,将预期结果与实现结果进行比较,如果相符则测试成功,否则测试失败
Assertions类:该类中所有方法都用static修饰,可以import static方式来导入

说明:类名和注解名不能写成一样的;方法名可以和注解名重都是独立的,一个报错不影响其他的方法;注解名的位置无序

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲小憨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值