JUnit测试单元的使用
2011-09-06 20:11
525 查看
对于一个Java新手来说,测试方法的正确,一般都会在类中写一个main方法,然后调用需要测试的方法。
这么做对于一个大型的项目自然是不可取的,对于多个方法,也不能很好的测试各个方法。
现在甚至会有一种模式称为,Test Driven Development,用测试驱动项目的开发。
因此就有了一个很常用的测试单元工具JUnit,当然还有其他的比如TestNG。不过现在最常用的还是JUnit4。
当然即使不通过也有两种可能Failure和Error
Failure指的是测试失败,比如说判断是否相等判断是不相符。
Error指的是测试类程序有错误
称为Keep the bargreen to keep the code clean
详细教程参见JUnit三分钟教程:/article/4231488.html
这么做对于一个大型的项目自然是不可取的,对于多个方法,也不能很好的测试各个方法。
现在甚至会有一种模式称为,Test Driven Development,用测试驱动项目的开发。
因此就有了一个很常用的测试单元工具JUnit,当然还有其他的比如TestNG。不过现在最常用的还是JUnit4。
一、命名
一般会把JUnit放在一个独立的test包中,测试类命名为ClassNameTest.java,其中的测试方法为testMethodName()。二、测试方法assertThat
然后在测试方法中对所需要测试的方法返回值断言assert,现在比较建议使用的是assertThat。a) assertThat( n, allOf( greaterThan(1), lessThan(15) ) ); assertThat( n, anyOf( greaterThan(16), lessThan(8) ) ); assertThat( n, anything() ); assertThat( str, is( "xxx" ) ); assertThat( str, not( "xxx" ) ); b) assertThat( str, containsString( "xxx" ) ); assertThat( str, endsWith("xxx" ) ); assertThat( str, startsWith( "xxx" ) ); assertThat( n, equalTo( nExpected ) ); assertThat( str, equalToIgnoringCase( "xxx" ) ); assertThat( str, equalToIgnoringWhiteSpace( "xxx" ) ); c) assertThat( d, closeTo( 3.0, 0.3 ) ); assertThat( d, greaterThan(3.0) ); assertThat( d, lessThan (10.0) ); assertThat( d, greaterThanOrEqualTo (5.0) ); assertThat( d, lessThanOrEqualTo (16.0) ); d) assertThat( map, hasEntry( "xxx", "xxx" ) ); assertThat( iterable, hasItem ( "xxx" ) ); assertThat( map, hasKey ( "xxx" ) ); assertThat( map, hasValue ( "xxx" ) );
三、before和after
然后对于一些需要随方法一起启动的,可以放在before和after方法中,比如数据库的连接和关闭。四、运行结果
然后运行JUnit,只要看见绿条就测试通过了。当然即使不通过也有两种可能Failure和Error
Failure指的是测试失败,比如说判断是否相等判断是不相符。
Error指的是测试类程序有错误
称为Keep the bargreen to keep the code clean
五、注解
还有就是注解@Test: 测试方法 (expected=XXException.class) (timeout=xxx) @Ignore: 被忽略的测试方法 @Before: 每一个测试方法之前运行 @After: 每一个测试方法之后运行 @BeforeClass: 所有测试开始之前运行 @AfterClass: 所有测试结束之后运行
详细教程参见JUnit三分钟教程:/article/4231488.html
相关文章推荐
- 单元测试之道 -使用JUnit
- Android:使用Junit测试框架
- JUnit3 一次运行多个测试类和进行多次重复测试:使用测试套件和RepeatedTest
- 刚刚搜素到的 vc 进行单元 测试如何使用VC6进行单元测试
- mamcached与Hibernate、Spring集成,以及junit单元测试
- java单元测试工具:JUnit4(三)——测试套件的使用和参数化设置
- IntelliJ IDEA 配合Maven使用Junit进行代码测试
- sping管理hibernate下使用junit测试方法
- 使用junit测试初步(1)
- 使用Junit测试一个 spring静态工厂实例化bean 的例子,所有代码都没有问题,但是出现java.lang.IllegalArgumentException异常
- 使用Mock MVC来进行Controller 层的junit的测试
- 单元测试之道——基于junit的java单元测试 的读书笔记与思考
- junit中test注解测试使用案列解析二
- 使用JUnit测试预期异常
- 单元测试之道(使用NUnit)
- JAVAEE——spring02:使用注解配置spring、sts插件、junit整合测试和aop演示
- Junit使用说明之二---Junit3.x的测试环境初始化以及收尾工作
- Eclipse中使用Junit插件测试
- 【JVM】Myecplise自带的JVM大小调整,用于Junit等测试时使用
- JUnit测试框架的使用经验分享