`

jUnit单元测试

阅读更多

转载jUnit单元测试,感谢原著分享


从头学jUnit,简单介绍一些功能,和一些问题的解决办法 

先介绍一些jUnit4.x的标签 
Annotation Description
@Test 声明测试方法
@Before 每个测试运行前执行,提供测试环境(比如读数据,实例初始化)
@After 每个测试运行后执行,清空测试环境(删除临时数据等)
@BeforeClass 静态方法,只执行一次,在所有测试开始前执行,一般用于连接数据库这种比较耗时间的动作
@AfterClass 静态方法,只执行一次,所有测试完成后执行,一般用于清除动作,如数据库断开
@Ignore 忽略测试方法,当测试方法不再适用或执行时间过长时使用
@Test (expected = Exception.class) 当方法执行没有抛出异常时Fails
@Test(timeout=100) 当方法执行超过100毫秒Fails

注意:jUnit认为测试按随便顺序进行,因此测试方式之间不应相互依赖。 

junit以Assert类提供的静态方法(方法名以asserts)作测试. 
Statement Description
fail(String) 一般用于检测是否进入莫段代码,或者在测试代码执行前调用
assertTrue([message], boolean condition) boolean条件检测
assertsEquals([String message], expected, actual) 测试两个值是否相同。注意:检测数组时,测试其引用是否相同而不是数组内容
assertsEquals([String message], expected, actual, tolerance) 测试float、double值.tolerance表示匹配的精准.
assertNull([message], object) 对象为空.
assertNotNull([message], object) 对象不为空.
assertSame([String], expected, actual) 两变量指向同一对象.
assertNotSame([String], expected, actual) 两变量指向不同对象.


JUnit使用静态方法,Eclipse不是总能自动地静态导入(static import). 
解决办法:Open the Preferences via Window → Preferences and select Java → Editor→Content Assist→Favorites→New Type→add "org.junit.Assert" 


TestSuite你可以批量执行测试类。只需要在SuiteClasses中加入你的测试类,然后运行 
Java代码  收藏代码
  1. package com.vogella.junit.first;  
  2.   
  3. import org.junit.runner.RunWith;  
  4. import org.junit.runners.Suite;  
  5. import org.junit.runners.Suite.SuiteClasses;  
  6.   
  7. @RunWith(Suite.class)  
  8. @SuiteClasses({ MyClassTest.class, MySecondClassTest.class })  
  9. public class AllTests {  
  10.   
  11. }   
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics