单元测试(JUnit4)
金庆华
2010年3月
培训目标:
了解什么是单元测试,如何做单元测试,TDD
掌握JUnit 4及其注解的使用
掌握JUnit 4 Assert验证
了解Hamcrest断言的使用
单元测试规范及要求宣贯
督促将单元测试使用于项目
1.什么是单元测试?
单元测试:Unit Test。测试不用说了,什么是单元呢?
单元测试是针对软件的最小模块进行正确性检验的测试工作。所谓最小模块,在OOP的范畴内,通常是指对象的方法。
2.为什么要做单元测试
讨论
3.谁来做单元测试?
单元测试是程序员的一项基本职责和基本技能,直接影响到程序员的工作效率和软件的质量,也直接影响到团队的合作。
4.我们平时是怎么做的?
1、main方法?
2、写个“测试类”,里面用main方法
优点:快速直接
缺点:
没有直观的测试结果,需要程序员自己整理测试结果并生成测试报告
无法重用,没有留下可供重用的工具或代码
不能运行多个main方法
无法进行自动化的回归测试
增加了类的体积,代码不清晰
5.我们以后要怎么做?
健全单元测试
6.Java平台的单元测试框架
ü JUnit
ü TestNG
ü …
7.如何选型?
我们选择JUnit,原因如下:
老牌资深
用户群大
JUnit4注解非常简单
Eclipse内置,方便
8.JUnit
8.1.JUnit名言
Keep the bar green to keep the code clean.
8.2.What is the green bar?
8.3.一个最简单的测试
按定义,要有个类,要有个方法,测试它,使用main方法和JUnit演示。
8.4.JUnit3与JUnit4比较
JUnit3基于继承
JUnit4基本Annotation
8.5.Failure 和 Error
Failure:测试未通过
Error:程序错误
8.6.JUnit Annotation
1. @Test: 测试方法
a) (expected=XXException.class)
b) (timeout=xxx)
2. @Ignore: 被忽略的测试方法
指出用@Ignore和不加@Ignore的方法的区别
3. @Before: 每一个测试方法之前运行
4. @After: 每一个测试方法之后运行
5. @BeforeClass: 所有测试开始之前运行
6. @AfterClass: 所有测试结束之后运行
其它注解
7. @RunWith:
8. @Suite.SuiteClasses:测试套件指定测试哪些类
----------易与难的分隔线----------
9. @Parameters
10. @Rule
11. …
8.7.Assert
断言,判断
Assert.fail
Assert.Equals
Assert.assertThat //import static
hamcrest断言(推荐)
8.8.如何一起运行所有的JUnit
Eclipse
Test Suite(Annotation),部分或全部运行
9.编写规范(强制)
目录约定:new source folder(test)
包约定:same package as the class to be test
测试类名约定:ClassNameTest()
测试方法约定:testMethod()
要求:非启动类(Web项目中基本没有)中不允许有main方法
(检查所有项目,有时间的改)
测试套件名约定:XxxTestSuite
测试套件目约定:TestSuite放在test根目录
10.问题解决了吗?
观察(有些必须观察),green bar, Ant + JUnit生成测试报告
可重用,留下可供重用的代码
多个方法运行多个或全部的单元测试
可回归测试
测试代码与生产代码分离,体积减少,代码更清晰
11.什么是TDD?
Test Driven Development
http://www.infoq.com/cn/news/2009/05/recommended-tdd-tutorials
补:Eclipse自动生成注释配置
Questions?
分享到:
相关推荐
JUnit 4测试框架是Java开发中的一个重要工具,用于编写和执行单元测试。单元测试是对软件中的最小可测试单元进行检查,通常是一个函数或方法。它的重要性在于能够确保代码的正确性和稳定性,特别是在软件开发的早期...
JUnit是Java编程语言中最流行的单元测试框架,它提供了注解、断言和测试套件等机制,使得编写和运行测试变得简单。JUnit5是当前的最新版本,支持Maven项目管理,并且被广泛集成在现代Java开发环境中,如Spring Boot...
JUnit是Java编程语言中最常用的单元测试框架,它用于编写和执行可重复的自动化测试,以确保代码的质量。本文将深入探讨JUnit入门培训的关键概念和技术。 首先,我们要理解什么是Test Driven Development(TDD),即...
JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可重复运行的测试用例,以确保代码的正确性和稳定性。本课程资料主要围绕JUnit展开,旨在帮助开发者理解和掌握如何进行有效的单元测试。 首先,...
【描述】提到的博文链接虽然没有提供具体内容,但我们可以从“Junit4培训讲义”这个标题中推测,这是一份关于Java单元测试框架JUnit4的学习资料。JUnit4是Java开发中最常用的单元测试工具,它简化了编写和执行测试...
4. **提升开发效率**:有了单元测试的支持,开发人员在进行重构或版本升级等操作时会更有信心,因为可以确保原有的功能不受影响。 5. **更好的需求把握**:单元测试本身就是一种很好的文档形式,可以帮助团队更好地...
在本“有关单元测试的培训资料”中,我们将深入探讨单元测试的核心概念、重要性、实践方法以及相关工具。 一、单元测试的概念 单元测试是对软件代码的独立部分进行验证的过程,它允许开发者隔离出代码的特定部分,...
JUnit,作为由Kent Beck和Erich Gamma共同开发的开源Java测试框架,已成为Java开发人员进行单元测试的首选工具。它不仅是Java编程语言的事实标准单元测试库,而且其设计思想——测试先行和测试驱动的开发(TDD),极...
该PPT主要讲述了JUnit单元测试框架的发展历史、使用方法以及一部分的原理剖析内容,解析JUnit的实现原理。
本培训资料主要涵盖了两个关键的Java开发工具:Maven和JUnit,以及相关的单元测试和Mock工具的使用。这两个工具在现代Java开发中扮演着至关重要的角色,是每个开发者必备的技能。 **Maven:项目管理和构建工具** 1...
JUnit 是 Java 语言中最流行的单元测试框架之一,它提供了许多功能强大且灵活的测试工具,帮助开发者编写高质量的代码。本文将从基础开始,指导读者如何使用 JUnit 进行单元测试。 1. JUnit 简介 JUnit 是一个开源...
JUnit4是Java编程语言中最广泛使用的单元测试框架之一,它为开发者提供了编写和运行可重复、可靠的测试用例的工具。本教程旨在帮助初学者掌握JUnit4的基础知识,包括其核心概念、注解、断言以及如何组织和执行测试。...
JUnit作为Java领域最流行的单元测试框架,对于开发者来说是必不可少的技能之一。本篇将详细解析“JUnit毕业实习培训2”中的核心知识点,旨在帮助实习生和初学者快速掌握JUnit的使用方法。 首先,我们要理解JUnit的...
JUnit 是一个广泛使用的Java编程语言的单元测试框架,由Erich Gamma和Kent Beck共同开发。它的主要目的是简化软件开发过程中的测试环节,确保代码的质量和稳定性。随着Java 5的发布,JUnit 4引入了注解(annotation...
- **定义**:Junit是一种专门用于Java语言的单元测试框架,由Erich Gamma和Kent Beck开发。 - **开源特性**:它是一款开放源代码的软件,用户可以从官方网站[www.junit.org](http://www.junit.org)免费下载并使用。 ...
文档“java单元测试培训提纲.doc”可能涵盖了以上各个知识点的详细讲解,而“JAVA单元测试工具比较.doc”可能对不同测试工具进行了深入的对比分析,包括它们的优缺点、适用场景等。 理解并熟练运用这些Java单元测试...
JUnit 是一个广泛使用的Java编程语言的开源单元测试框架,由Erich Gamma和Kent Beck于1997年创建。Erich Gamma是《设计模式》一书的作者之一,而Kent Beck则是极限编程(XP)的创始人。单元测试是软件开发中的一个...
JUnit 是一个针对 Java 语言的单元测试框架,它使得编写测试用例变得简单,可以帮助开发者确保代码的正确性和可靠性。在 Eclipse 中,可以通过右键点击类或方法选择 "New Test" 来生成 JUnit 测试类,然后编写测试...