码迷,mamicode.com
首页 > 其他好文 > 详细

测试工具学习笔记 - JUnit4

时间:2016-11-10 03:26:48      阅读:507      评论:0      收藏:0      [点我收藏+]

标签:learn   asserts   ram   结束   套件   静态内部类   eth   学习笔记   res   

1. StartUp

引入JUnit依赖, 用@Test标注需要被测试的方法,使用Assert进行测试结果是否通过
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>${junit.version}</version>
    <scope>test</scope>
</dependency>
import org.junit.Assert;
import org.junit.Test;

public class AssertTest {

    @Test
    public void testAssertEquals(){
        Assert.assertEquals("HelloJUnit", "HelloJUnit");
        Assert.assertNotEquals("HelloWorld", "HelloJUnit");
    }
}

 

2. 常用Assert方法

进行测试结果是否满足预期
Assert.assertEquals, Assert.assertNotEquals
Assert.assertSame, Assert.assertNotSame
Assert.assertTrue, Assert.assertFalse
Assert.assertNull, Assert.assertNotNull
Assert.assertThat
Assert.assertArrayEqauls
Assert.fail
 
 
3. 常用Assume方法
与Assert类似,但不会使TestCase执行失败。假设测试结果满足时,才继续往下执行,否则忽略该TestCase。
可用于依赖第三方,需要第三方执行成功后续TestCase才能执行的情况
Aassume.assumeTrue
Aassume.assumeFalse
Aassume.assumeNotNull
Aassume.assumeThat
Aassume.assumeNoException
 
 
4. TestRunner
JUnit内置的TestCase执行器,其类层次结构及说明如下:
@RunWith(Runner.class) 生效某个Runner
  ParentRunner
    BlockJUnit4ClassRunner   //JUnit默认TestRunner
      JUnit4 //当前默认TestRunner别名, 为了防止后续版本默认TestRunner行为有变化,明确标记使用当前默认TestRunner
      BlockJUnit4ClassRunnerWithParameters
      Theories
    Suite //创建包含多个测试类的套件 @SuiteClasses指定包含的测试类
      Enclosed //包含静态内部类中的TestCase
      Categories //分组测试 @IncludeCategory,@ExcludeCategory指定包含及排除的分组
      Parameterized //参数化测试   @Parameters 指定参数
 技术分享

 

技术分享
 
5. TestRule
TestRule可以重新添加或定义类中的每个TestCase方法的行为,扩展测试方法的功能。诸如打开关闭资源,创建删除临时文件,超时控制,异常处理,获取当前TestCase方法名等
技术分享
技术分享

 

6. Test Fixtures 
可以指定TestCase类加载前后,Method方法执行前后的行为
@BeforeClass     //类级别, 在类加载执行时,会被调用
@AfterClass        //类级别, 在类中所有TestCase执行结束时,会被调用
@Before        //方法级别, 在TestCase执行前会被调用
@After            //方法级别, 在TestCase执行后会被调用
 
7.  一般性功能
@FixMethodOrder         //指定测试类内的TestCase执行顺序
@Test(expected = IndexOutOfBoundsException.class)  //指定期望TestCase抛出的异常
@Ignore         //指定忽略该TestCase
@Test(timeout=1000) //指定TestCase最大超时时间
 
Code:
Reference:  
 

测试工具学习笔记 - JUnit4

标签:learn   asserts   ram   结束   套件   静态内部类   eth   学习笔记   res   

原文地址:http://www.cnblogs.com/qianmin/p/6049409.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!