之前学面向对象课程,教材上有每编写一段代码就会附上test代码,当时不是很明白那是为什么,现在做开发项目练习,开始用JUnit写测试代码,才发现了那些test方法的真正用途。

研究了一下午,现在总结一下测试类的方法,以后会更新其他方法测试的规律。

一、单元测试(UnitTests)

从单元的角度,测试每个单元的功能,以及异常的抛出

1、测试构造函数并检查结果,然后使构造函数抛出每个异常,捕捉异常

常用方法:fail()如果没有抛出异常则测试失败,参数为字符串

2、测试功能方法,如果传递的参数有几种可能,那每一种可能都要涉及到

二、模块准确性测试(AccuracyTests)

就是测试每个模块结果的准确性

1、测试构造函数(同时测试了getters方法):首先利用构造函数构造一个类的实例,然后依次调用getters在利用JUnit里的方法测试数据的正确性

常用方法有:assertEquals和assertTrue,assertFalse。具体的用法可以参见JUnit API

注:assertEquals不仅可以用于一般数字的匹配还可以用于字符串的匹配

2 、测试类中的方法:利用构造函数构造一个类的实例,然后调用此方法。用自己推算的结果和程序结果对比,来验证方法的正确性。

3、最后,在每个函数测试完成之后,还要测试整个模块的函数功能

三、失败测试(FailureTest)

就是测试在各种方法测试失败时异常的抛出情况

常用方法:setUp()继承于TestCase,建立测试,在测试开始之前。并且为测试提供target的初始工作

四、高压测试(StressTest)

就是测试当处理数据量很大的时候方法的性能,即运行时间

常用方法,与C语言类似,Java也有获得系统当前时间的方法System.currentTimeMillis。在方法执行前后分别获取系统时间以计算方法运行的时间

转载于:https://www.cnblogs.com/ITEagle/archive/2010/02/07/1665120.html

JUnit单元测试的几个规律总结相关推荐

  1. JUnit单元测试依赖包构建路径错误解决办法

    JUnit单元测试依赖包构建路径错误解决办法: 选中报错的项目文件夹→右击选择属性(ALT+Enter)→java构建路径→库→添加库→JUnit→选择合适的Junit库版本.

  2. Junit单元测试需要知道的一些知识点

    Junit单元测试框架-基于java语言对的主流单元测试框架 @beforeClass-位于数据准备前期或者其他前期准备(测试类调用前) --用于提取代码中的共用部分减少冗余,只能声明注解一次 --必 ...

  3. java中JUnit单元测试的使用方法

    package com.atguigu.java2;import java.sql.Date;import org.junit.Test;/** java中的JUnit单元测试* 步骤:(可以直接写@ ...

  4. JUnit单元测试中的setUpBeforeClass()、tearDownAfterClass()、setUp()、tearDown()方法小结

    编写JUnit单元测试的时候,会用到 setUpBeforeClass().tearDownAfterClass().setUp().tearDown()这四个方法,例如用 eclipse新建一个ju ...

  5. SSM中进行Junit单元测试时无法注入service

    场景 在SSM项目中进行Junit单元测试时调用外部的service时,在使用时打断点发现为空. 代码如下: public class AlipayTester {private PassOrderS ...

  6. surefire 拉起 junit 单元测试类 源码阅读(一)

    根据surefire 拉起Junit单元测试类 输出的报错日志 跟踪执行过程: 日志1: java.lang.reflect.InvocationTargetExceptionat sun.refle ...

  7. junit单元测试断言_简而言之,JUnit:单元测试断言

    junit单元测试断言 简而言之,本章涵盖了各种单元测试声明技术. 它详细说明了内置机制, Hamcrest匹配器和AssertJ断言的优缺点 . 正在进行的示例扩大了主题,并说明了如何创建和使用自定 ...

  8. spring junit单元测试

    项目是有很多个功能块组成的,我们开发的时候,当我们开发出来一个功能,想要测试这个功能是否正确,不可能等到前端和后端全部写好了再进行测试,这样太浪费时间,有没有什么方法能直接测试后台的功能写的是否正确( ...

  9. Spring框架 JdbcTemplate类 @Junit单元测试,可以让方法独立执行 如:@Test

    1 package cn.zmh.PingCe; 2 3 import org.junit.Test; 4 import org.springframework.jdbc.core.BeanPrope ...

最新文章

  1. node中npm安装模块的网络问题
  2. Leetcode 376. 摆动序列 解题思路及C++实现
  3. url特殊字符转义及解决方法
  4. JVM调优:G1三色标记算法
  5. mount 返回状态_状态管理模式 — Vuex如何使用?
  6. [ZZ]强签名的由来和作用
  7. 编译原理中中间代码生成---C语言实现
  8. ES6中箭头函数解释
  9. Python CGI编程
  10. mybatis调用mysql存储过程_秒会mybatis调用存储过程(MySQL)
  11. 机器学习2-Logistic回归
  12. Linux 访问控制列表(access control list)
  13. python爬取链家二手房楼盘数据信息
  14. 更新!2021智能仓储物流之最全AGV企业供应商名录
  15. 阿里云商标注册查询系统入口链接(支持图片搜索)
  16. 笔记本w ndows未能启动,手把手教你windows无法启动怎么办
  17. 【Java并发编程 】同步——volatile 关键字
  18. 编写函数求解一元二次方程
  19. 看门狗ADM8323-8324使用心得
  20. linux离线下载并安装amd64包

热门文章

  1. HIT Software Construction Review Notes(1-2 Quality Objectives of Software Construction)
  2. 计算机网络---网络层ARP协议
  3. DeprecationWarning:current URL string parser is deprecated, and will be removed in a future version.
  4. 【前端】—每日5道面试题打卡(十六)
  5. ES6学习(八)—Promise对象 超鸡重要
  6. JavaScript学习(三十三)—事件对象常用的属性和方法
  7. 线程通信:生产者消费者问题
  8. 为什么现在又流行服务端渲染html?
  9. 蒲公英枸杞菊花可以一起泡茶喝吗?
  10. 大数据杀熟,是真的吗?