《Java高级程序设计》第11章.ppt

上传人:牧羊曲112 文档编号:6525854 上传时间:2023-11-09 格式:PPT 页数:22 大小:468KB
返回 下载 相关 举报
《Java高级程序设计》第11章.ppt_第1页
第1页 / 共22页
《Java高级程序设计》第11章.ppt_第2页
第2页 / 共22页
《Java高级程序设计》第11章.ppt_第3页
第3页 / 共22页
《Java高级程序设计》第11章.ppt_第4页
第4页 / 共22页
《Java高级程序设计》第11章.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《《Java高级程序设计》第11章.ppt》由会员分享,可在线阅读,更多相关《《Java高级程序设计》第11章.ppt(22页珍藏版)》请在三一办公上搜索。

1、JUnit和Log4j,Java高级程序设计第11章,掌握JUnit 4的基本结构使用JUnit4进行测试掌握Log4J的基本语法应用Log4J进行日志管理,本章目标,测试存在的问题,程序员,可写可不写,少数程序员,必须要写,我们如此忙于代码的运行测试和调试,难道真的这么难吗?,为什么?,如果有这样一个测试工具:只要写少量的代码就能测试运行,甚至不需要在代码中写任何语句就可以在别处运行测试。,单元测试,什么是单元测试写了个类,要给别人用,会不会有bug?怎么办?测试一下。用main方法测试好不好?不好!不能一起运行!大多数情况下需要人为的观察输出确定是否正确?为什么要进行单元测试重用测试,应付

2、将来的实现的变化。提高士气,明确知道我的东西是没问题的。单元测试由谁编写程序员本身测试驱动开发,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测试,选择测试用例中要测试的方法,生

3、成单独的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.所

4、有测试结束之后运行,销毁Caculator对象资源,注意:初始化,和销毁方法要写成静态方法,JUnit4 Annotation cont.,Before After,每一个测试方法之前运行,每一个测试方法之前运行,每一个测试方法之后运行,控制台输出的运行结果,测试异常,异常测试是 JUnit 4 中的最大改进。,如果该异常没有抛出(或者抛出了一个不同的异常),那么测试就将失败,断言方法,断言方法 cont.,断言示例,预期值和结果值,断言为EQUAL,Log4j,Log4j是Apache的一个开放源代码项目,通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。可以通过一个配置文

5、件来灵活地进行配置,而不需要修改应用的代码。,日志信息的优先级,日志信息的优先级 分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。,输出源的使用,一个输出源被称做一个AppenderAppender包括console(控制台),files(文件),GUI components(图形的组件),remote socket servers(socket 服务),JMS(java信息服务),NT

6、Event Loggers(NT的事件日志),and remote UNIX Syslog daemons(远程UNIX的后台日志服务)。,Layout的配置,Layout指定了log信息输出的样式(以HTML表格形式布局)(可以灵活地指定布局模式)(包含日志信息的级别和信息字符串)(包含日志产生的时间、线程、类别等等信息),格式,%m 输出代码中指定的消息%p 优先级 DEBUG,INFO,WARN,ERROR,FATAL%r 输出自应用启动到输出该log信息耗费的毫秒数%c 输出所属的类目,通常就是所在类的全名%t 输出产生该日志事件的线程名%n 输出一个回车换行符%d 输出日志时间点的日

7、期或时间如:%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 Rol

8、e WHERE 1=1 order by createDate desc,配置文件的例子,指定输出路径为控制台,控制台输出的信息的样式,指定输出到文件DAOLog中,且每天产生一个日志文件,设置优先级别,本章总结,单元测试工具 JUnit 4以及如何结合 IDE Eclipse进行单元测试。Log4j主要三个组件构成:Logger、Appender、Layout。Logger控制日志信息的输出,Appender决定输出的目的地,Layout决定日志输出的格式。Log4j允许客户在配置文件文件中灵活的配置这些组件,然后读取配置文件中并配置Log4j环境,然后就可以在程序中任何要输出日志的地方调用适当的方法,这样对于日后程序的调试有着重大的作用。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号