`
touchmm
  • 浏览: 1002943 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

单元测试(JUnit4)培训

阅读更多

单元测试(JUnit4

金庆华

20103

培训目标:

了解什么是单元测试,如何做单元测试,TDD

掌握JUnit 4及其注解的使用

掌握JUnit 4 Assert验证

了解Hamcrest断言的使用

单元测试规范及要求宣贯

督促将单元测试使用于项目

1.什么是单元测试?

单元测试:Unit Test。测试不用说了,什么是单元呢?

单元测试是针对软件的最小模块进行正确性检验的测试工作。所谓最小模块,在OOP的范畴内,通常是指对象的方法。

2.为什么要做单元测试

讨论

3.谁来做单元测试?

单元测试是程序员的一项基本职责和基本技能,直接影响到程序员的工作效率和软件的质量,也直接影响到团队的合作。

4.我们平时是怎么做的?

1main方法?

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.JUnit3JUnit4比较

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单元测试框架培训PPT

    该PPT主要讲述了JUnit单元测试框架的发展历史、使用方法以及一部分的原理剖析内容,解析JUnit的实现原理。

    单元测试培训文档.pptx

    文档表达的核心意思:1、我们之前为什么不写单元测试;2、我们现在为什么要写单元测试;3、如何写好单元测试;以及Junit、Mockito、Hamcrest、Dbunit、jacoco等常用测试工具的使用

    JUnit单元测试课程PPT与相关文件

    JUnit单元测试课程PPT与相关文件 文件内包括视频的下载地址

    JUnit单元测试技术

    培训时老师的课件,很又帮助。已经压缩成包

    内部培训资料,Maven和Junit培训资料

    培训资料,教你如何使用Maven和Junit以及Mock各种工具类,单元测试教程

    单元测试的基本理论与使用

    某次培训所用的资料,一些简单的示例。在使用JUnit时,没有使用注解。

    Java junit

    这是本人在公司培训时做的一个PPT文档,介绍了junit3以及junit4,还有他们的区别使用

    Junit使用入门培训(初级篇)1

    Junit使用入门培训(初级篇)1

    JUnit设计模式分析

    关键词:单元测试 JUnit 设计模式 1 JUnit概述1.1 JUnit概述 JUnit是一个开源的java测试框架,它是Xuint测试体系架构的一种实现。在JUnit单元测试框架的设计时,设定了三个总体目标,第一个是简化测试的编写,...

    企业培训内容-单元格测试.zip

    单元测试的四种方式:1.时间测试 2.异常测试 3.参数化测试 4.模块化测试 5.断言

    关于代码的那些事

    该文档为段念(Dennis)先生的公司内部培训文档。文档内容新颖、思路开阔,让人耳目一新。 主要培训内容: 1、代码是什么? 2、代码的用户 3、代码的可测试性 ...5、什么是单元测试 6、使用JUnit 7、JUnit实战

    基于Maven的SSM框架整合培训教程.pdf

    4、引入junit,进行单元测试 5、使用注解替代XML管理组件依赖(DI) 6、引入SpringMVC,实现视图和模型的业务分离 7、引入MyBatis,简化数据访问 8、引入log4j,完善日志输出体系 9、引入Shiro,实现身份验证及授权 ...

    TDDTesting:一些TDD培训

    该存储库的主要目标是学习使用jUnit 5和Java SE 8的TDD,需求工程和单元测试 另外,学习Python上的单元测试 “测试驱动开发(TDD)是一种软件开发过程,它依赖于非常短的开发周期的重复:将需求转换为非常具体的测试...

    continuousintegration:持续整合| 开发人员培训生研究生-培训计划

    并伴随一些单元测试,以检查主应用程序是否按预期工作。 这些测试的结果将保存到JUnit XML报告中。 jenkins目录包含您将在本教程中创建的Jenkinsfile (即管道)示例,而scripts子目录包含一个外壳脚本,其中包含...

    2021-02-teamc

    Worblehat Worblehat是举办的培训的培训应用程序。...所有测试都通过JUnit执行,但是可以在概念上分为单元测试和集成测试。 它们绑定到不同的Maven生命周期阶段,由不同的Maven插件执行,并遵循不同的命名

    2021-04-teama

    Worblehat Worblehat是基于Java Spring-Boot的案例研究,该案例研究是由举办的“培训”。 要求 ...所有测试都通过JUnit执行,但是可以在概念上分为单元测试和集成测试。 它们绑定到不同的Maven生命周

    continuous-delivery-jump-start:用于培训“连续交付快速入门”的示例应用程序

    使用JUnit和Mockito实现的单元测试。 集成测试使用Spring Test。 目标运行时环境:Apache Tomcat。应用的Gradle功能Gradle包装器的用法。 部署到嵌入式容器以进行本地开发。运行应用程序您可以直接在本地计算机上...

    JAVA程序开发大全---上半部分

    5.5 JUnit应用实例:数据库程序单元测试 77 5.6 本章小结 80 第6章 Java Web应用程序的开发 81 6.1 Java Web应用程序概述 81 6.2 Tomcat服务器的安装和配置 82 6.2.1 Tomcat服务器的下载 82 6.2.2 Tomcat服务器的...

    SampleEmployeeApp

    Java SpringBoot单元培训项目这是一个学习JUnit5进行单元和集成测试的培训项目。入门这些说明将为您提供在本地计算机上运行并运行的项目的副本,以进行开发和测试。先决条件IntelliJ或您首选的IDE Java 1.8+ Maven ...

Global site tag (gtag.js) - Google Analytics