Junit的基础讲解二

Junit系列二

一、Junit的使用之高级使用(@RunWith注解)

  • 前言

大家有没有想过这样一个问题,当你把测试代码提交给JUnit框架后,框架如何来运行你的代码呢?
答案就是——Runner
在JUnit中有很多个Runner,他们负责调用你的测试代码,每一个Runner都有各自的特殊功能,你要根据需要选择不同的Runner来运行你的测试代码。但这样可能会觉得奇怪,当我们进行测试的时候,并没有明确指定一个Runner,那这是怎么回事呢?
这是因为JUnit中有一个默认Runner,如果没有指定的情况下,那么系统自动使用默认Runner来运行你的代码,所有我们就能运行了。

Runner如何使用呢?

在Junit4.x中是通过使用@RunWith来指定Runner(运行器),@RunWith是用来修饰类的,而不是用来修饰函数的

Runner都有哪些?

Junit中自带的有:

	Suite.java  :  组件,套装

	Parameterized.java    :参数

	Theories.java  :排列组合

1. @RunWith(Suite.class)

Suite类是JUnit自带的,意为套件,顾名思义,就是一套东西。通过它,可以把多个相关的测试类看做一个测试套件一起测试

PS : 
​		在一个项目中,只写一个测试类是不可能的,我们会写出很多很多个测试类。可是这些测试类必须
一个一个的执行,也是比较麻烦的事情。

​		鉴于此,JUnit为我们提供了打包测试的功能,将所有需要运行的测试类集中起来
(@RunWith(Suite.class)),一次性的运行完毕,大大的方便了我们的测试工作

编码测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.@RunWith(Parameterized.class)

2.1).Parameterized类

JUnit自带的,用于使用多个参数组合多次执行同一个测试用例

2.2).Parameterized类使用

方法一
  1)类中要有构造函数
  
  2)有一个public static的方法被@Parameters标注,并且该方法只能返回
  Iterable类型或数组类型的数据

代码案例

在这里插入图片描述

方法二

	1) 用Parameter参数来修饰属性。注意:索引从0开始
	
    2) 属性要用public修饰

代码案例

在这里插入图片描述

两种方式测试显示结果

在这里插入图片描述

3.@RunWith(Theories.class)

3.1) . Theories

提供一组参数的排列组合值作为待测方法的输入参数。同时注意到在使用Theories这个Runner的时候,我们的待测方法可以拥有输入参数,而这在其它的Runner中的测试方法是不行的

代码测试

第一种方式

在这里插入图片描述

第二种方式

在这里插入图片描述

测试结果

在这里插入图片描述

二、Junit的运行原理(浅层次)

在这里插入图片描述

总结: 
	Junit虽然不用直接写main函数,但是其内在本质执行的过程中依旧是有main加载
这一步骤的,我已我们可以放心使用。

三、常见测试工具

1.压力测试的工具

  	LoadRunner: 是一种预测系统行为和性能的负载测试工具,通过模拟实际用户的操
作行为进行实时性能监测,来帮助测试人员更快的查找和发现问题,但是收费
    
    Apache JMeter:JMeter作为一款广为流传的开源压测产品,最初被设计用于Web应
用测试,如今JMeter可以用于测试静态和动态资源,
	
	例如:
        静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP服务
    器等等,还能对服务器、网络或对象模拟巨大的负载,通过不同压力类别测试它们
    的强度和分析整体性能(免费)

2.自动化测试的工具

	QTP : 是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试
    
    QuickTest(QT): 针对的是GUI应用程序,包括传统的Windows应用程序,
以及现在越来越流行的Web应用

3.抓包工具

  	Flidder : 是位于客户端和服务器端的HTTP代理,也是目前最常用的http
抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特
定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至
可以修改服务器返回的数据,功能非常强大,是web调试的利器
    
    Charles : Charles又名青花瓷,是Mac端的一款截取与分析网络请求的工
具(windows也可以用),在网络开发中使用其作分析
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JUnit实战(第2版)本书从认识JUnit、不同的测试策略、JUnit与构建过程、JUnit扩展4个方面,由浅入深、由易到难地对JUnit展开了系统的讲解,包括探索JUnit的核心、软件测试原则、测试覆盖率与开发、使用stub进行粗粒度测试、使用mockobjects进行测试、容器内测试、从Ant中运行JUnit测试、从Maven2中运行JUnit测试、持续集成工具、表示层的测试、Ajax测试、使用Cactus进行服务器端的Java测试、测试JSF应用程序、测试OSGi组件、测试数据库访问、测试基于JPA的应用程序、JUnit的其他用法等内容。 需要的朋友们可以下载试试吧! JUnit实战(第2版)中文版不仅仅介绍了使用JUnit框架测试项目必须掌握的核心概念,还指导读者如何使用JUnit框架编写自己的测试用例,并针对在编写代码的过程中如何使得代码可测试给出建议。本书还介绍了基础的软件开发原则,如测试驱动开发(TDD)等,以便指导用户如何使用不同的工具来测试典型JavaEE应用程序的每一层。此外,本书也提供了几个附录,以帮助读者快速转换到最新版本的JUnit,并且能够轻松地集成自己喜欢的IDE。 本书适合于已具有一定Java编程基础的读者,以及在Java平台下进行各类软件开发的开发人员、测试人员。对于单元测试学习者和编程爱好者来说,本书则具有极高的学习参考价值。大家可以下载参考学习一下!
可以复制,并且有目录。 《JUnit实战(第2版)》从认识JUnit、不同的测试策略、JUnit与构建过程、JUnit扩展4个方面,由浅入深、由易到难地对JUnit展开了系统的讲解,包括探索JUnit的核心、软件测试原则、测试覆盖率与开发、使用stub进行粗粒度测试、使用mock objects进行测试、容器内测试、从Ant中运行JUnit测试、从Maven2中运行JUnit测试、持续集成工具、表示层的测试、Ajax测试、使用Cactus进行服务器端的Java测试、测试JSF应用程序、测试OSGi组件、测试数据库访问、测试基于JPA的应用程序、JUnit的其他用法等内容。   《JUnit实战(第2版)》不仅仅介绍了使用JUnit框架测试项目必须掌握的核心概念,还指导读者如何使用JUnit框架编写自己的测试用例,并针对在编写代码的过程中如何使得代码可测试给出建议。本书还介绍了基础的软件开发原则,如测试驱动开发(TDD)等,以便指导用户如何使用不同的工具来测试典型Java EE应用程序的每一层。此外,本书也提供了几个附录,以帮助读者快速转换到最新版本的JUnit,并且能够轻松地集成自己喜欢的IDE。   《JUnit实战(第2版)》适合于已具有一定Ja va编程基础的读者,以及在Java平台下进行各类软件开发的开发人员、测试人员。对于单元测试学习者和编程爱好者来说,本书则具有极高的学习参考价值。
本书从认识JUnit、不同的测试策略、JUnit与构建过程、JUnit扩展4个方面,由浅入深、由易到难地对JUnit展开了系统的讲解,包括探索JUnit的核心、软件测试原则、测试覆盖率与开发、使用stub进行粗粒度测试、使用mockobjects进行测试、容器内测试、从Ant中运行JUnit测试、从Maven2中运行JUnit测试、持续集成工具、表示层的测试、Ajax测试、使用Cactus进行服务器端的Java测试、测试JSF应用程序、测试OSGi组件、测试数据库访问、测试基于JPA的应用程序、JUnit的其他用法等内容。 需要的朋友们可以下载试试吧! JUnit实战(第2版)中文版不仅仅介绍了使用JUnit框架测试项目必须掌握的核心概念,还指导读者如何使用JUnit框架编写自己的测试用例,并针对在编写代码的过程中如何使得代码可测试给出建议。本书还介绍了基础的软件开发原则,如测试驱动开发(TDD)等,以便指导用户如何使用不同的工具来测试典型JavaEE应用程序的每一层。此外,本书也提供了几个附录,以帮助读者快速转换到最新版本的JUnit,并且能够轻松地集成自己喜欢的IDE。 本书适合于已具有一定Java编程基础的读者,以及在Java平台下进行各类软件开发的开发人员、测试人员。对于单元测试学习者和编程爱好者来说,本书则具有极高的学习参考价值。大家可以下载参考学习一下!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值