发表于: 2018-10-14 21:39:50
1 520
一、今日完成:
1、
各种注解的说明:
@Test:
表明该方法是一个测试方法
@BeforeClass 和 @AfterClass:
测试用例初始化时执行 @BeforeClass方法,当所有测试执行完毕之后,执行@AfterClass进行收尾工作。标注、@BeforeClass 和 @AfterClass的方法必须是static的,因为方法将在类被装载的时候就被调用,那时候还没创建测试对象实例。
@Before:
使用了该元数据的方法在每个测试方法执行之前都要执行一次。
@After:
使用了该元数据的方法在每个测试方法执行之后要执行一次。
@Test(expected=*.class) :
通过@Test元数据中的expected属性验证是否抛出期望的异常,expected属性的值是一个异常的类型,如果抛出了期望的异常,则测试通过,否则不通过。
@Test(timeout=xxx):
该元数据传入了一个时间(毫秒)给测试方法,如果测试方法在制定的时间之内没有运行完,则测试也失败。
@Ignore:
该元数据标记的测试方法在测试中会被忽略。同时可以为该标签传递一个String的参数,来表明为什么会忽略这个测试方法。比如:@lgnore("该方法还没有实现"),在执行的时候,仅会报告该方法没有实现,而不会运行测试方法。
在test方法内除了使用Assert的assertEquals()方法外,还能使用assertFalse()、assertTrue()、assertNull()、assertNotNull()、assertSame()、assertNotSame()等断言函数。而且如果使用的是Junit4,结合Hamcrest,使用
assertThat([value], [matcher statement])方法可以实现更灵活的断言判断(前提是引入hamcrest的jar包)。
例如:
// is匹配符表明如果前面待测的object等于后面给出的object,则测试通过
assertThat( testedObj, is( object) );
// containsString匹配符表明如果测试的字符串包含指定的子字符串则测试通过
assertThat( testedString, containsString( "developerWorks" ) );
// greaterThan匹配符表明如果所测试的数值testedNumber大于16.0则测试通过
assertThat( testedNumber, greaterThan(16.0) );
// closeTo匹配符表明如果所测试的浮点型数testedDouble在20.0±0.5范围之内则测试通过
assertThat( testedDouble, closeTo( 20.0, 0.5 ) );
//hasItem匹配符表明被测的迭代对象含有元素element项则测试通过assertThat(iterableObject, hasItem (element));
下载插件,
自动生成测试代码,就不用一个个手动写了、
2、Java日志系统
0. 概述
在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息。
在Java世界中,有很多的日志工具库来实现日志功能,避免我们重复造轮子,下面我们就来逐一了解日志工具。
1. 最原始的日志记录方式
最早期的Java程序中,使用System.out.println()把需要显示的内容打印到屏幕,这种方式使用起来非常简单,但是缺点却是非常多的:
- 输出内容不可控
- 可读性差
- 大量的IO操作使程序变慢
2. JDK的Logging
从JDK1.4开始,JDK自带了一套日至系统,其最大的优点是不需要任何其他类库的支持,只要有JDK就可以运行,但是其易用性、功能和扩展性很差,因此在商业上很少使用。
JDK Logging把日志分为9个级别,分别为:ALL、FINEST、FINER、FINE、CONFIG、INFO、WARNING、SERVER、OFF,等级依次升高,较高等级屏蔽较低等级。
3. Log4j
Log4j是目前应用最广泛的日志控件,它把日志分为ALL、TRACE、DEBUG、INFO、WARNING、ERROR、FITAL、OFF等几个等级,等级依次升高,依然是高等级屏蔽低等级。使用Log4j需要下载相应的jar包。
4. commons-logging
commons-logging属于Apache commons类库,它并不是一个日志控件,仅仅是用来统一JDK的Logging和Log4j的API,如果classpath中又Log4j则使程序使用Log4j,如果没有则使用JDK的Logging,具体的日志功能则交给JDK的Logging和Log4j。对于不能确定日志方式的系统,commons-Logging是个不错的选择。Spring、Hibernate以及Struts等都是使用commons-logging。
二、明日计划:
练习单元测试,查看日志,并转成Debug模式,练习调试,学会查看单步执行时的变量值。
三、问题:暂时没有
四、收获:
大致了解了单元测试,日志系统
评论