《Java高级程序设计》第11章[JUnit和Log4j]理论.ppt_第1页
《Java高级程序设计》第11章[JUnit和Log4j]理论.ppt_第2页
《Java高级程序设计》第11章[JUnit和Log4j]理论.ppt_第3页
《Java高级程序设计》第11章[JUnit和Log4j]理论.ppt_第4页
《Java高级程序设计》第11章[JUnit和Log4j]理论.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JUnit和Log4j,Java高级程序设计第11章,掌握JUnit 4的基本结构 使用JUnit4进行测试 掌握Log4J的基本语法 应用Log4J进行日志管理,本章目标,测试存在的问题,程序员,可写可不写,少数程序员,必须要写,我们如此忙于代码的运行测试和调试,难道真的这么难吗?,为什么?,如果有这样一个测试工具: 只要写少量的代码就能测试运行,甚至不需要在代码中写任何语句就可以在别处运行测试。,单元测试,什么是单元测试 写了个类,要给别人用,会不会有bug?怎么办?测试一下。用main方法测试好不好?不好!不能一起运行!大多数情况下需要人为的观察输出确定是否正确? 为什么要进行单元测试 重用测试,应付将来的实现的变化。 提高士气,明确知道我的东西是没问题的。 单元测试由谁编写 程序员本身 测试驱动开发,JUnit4,JUnit 4.x是能够自动化测试Java代码的框架,JUnit的一大主要特点是,它在执行的时候,各个方法之间是相互独立的。 JUnit 4.x,它利用 Java 5 的新特性(尤其是注释)的优势,使得单元测试比起用最初的 JUnit 来说更加简单。,JUnit4 HelloWorld,JUnit4应用步骤 new project 建立类 建立testcase,JUnit4 HelloWorld,1,2,3,1编写相应的测试用例,2右键测试用例选择JUnit测试,选择测试用例中 要测试的方法,生成单独的Junit测试代码,教员演示JUnit4应用步骤,运行JUnit,步骤如下:,1,2,3,选中相应的方法右键选择,控制台打印结果,JUNIT显示成功(绿条),JUnit4 Annotation,Test: 测试方法 (expected=XXException.class) (timeout=xxx) Ignore: 被忽略的测试方法 Before: 每一个测试方法之前运行 After: 每一个测试方法之后运行 BeforeClass: 所有测试开始之前运行 AfterClass: 所有测试结束之后运行,JUnit4 Annotation cont.,1所有测试开始之前运行,初始化Calculator对象,2.所有测试结束之后运行,销毁Caculator对象资源,注意:初始化,和销毁方法要写成静态方法,JUnit4 Annotation cont.,Before After,每一个测试方法之前运行,每一个测试方法之前运行,每一个测试方法之后运行,控制台输出的运行结果,测试异常,异常测试是 JUnit 4 中的最大改进。,如果该异常没有抛出(或者抛出了一个不同的异常),那么测试就将失败,断言方法,断言方法 cont.,断言示例,预期值和结果值,断言为EQUAL,Log4j,Log4j是Apache的一个开放源代码项目,通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。,日志信息的优先级,日志信息的优先级 分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。 Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。,输出源的使用,一个输出源被称做一个Appender Appender包括console(控制台), files(文件), GUI components(图形的组件), remote socket servers(socket 服务), JMS(java信息服务), NT Event Loggers(NT的事件日志), and remote UNIX Syslog daemons(远程UNIX的后台日志服务)。,Layout的配置,Layout指定了log信息输出的样式 org.apache.log4j.HTMLLayout(以HTML表格形式布局) org.apache.log4j.PatternLayout(可以灵活地指定布局模式) org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串) org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息),格式,%m 输出代码中指定的消息 %p 优先级 DEBUG,INFO,WARN,ERROR,FATAL %r 输出自应用启动到输出该log信息耗费的毫秒数 %c 输出所属的类目,通常就是所在类的全名 %t 输出产生该日志事件的线程名 %n 输出一个回车换行符 %d 输出日志时间点的日期或时间如:%dyyy MMM dd HH:mm:ss,SSS,输出类似:2002年10月18日 22:10:28,921 %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。,Log4J 应用示例,例子1:显示日期和log信息 log4j.appender.A2.layout=org.apache.log4j.PatternLayout log4j.appender.A2.layout.ConversionPattern=%dyyyy-MM-dd HH:mm:ss,SSS %m%n 打印的信息是: 2009-10-22 11:49:42,866 SELECT * FROM Role WHERE 1=1 order by createDate desc,配置文件的例子,指定输出路径为控制台,控制台输出的信息的样式,指定输出到文件DAOLog中,且每天产生一个日志文件,设置优先级别,本章总结,单元测试工具 JUnit 4以及如何结合 IDE Eclipse进行单元测试。 Log4j主要三个组件构成:Logger、Appender、Layout。Logger控制日志信息的输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论