测试工具学习笔记 - JUnit4

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试工具学习笔记 - JUnit4相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

JUnit4 学习笔记

JUnit4 学习笔记

Junit4 IDEA测试学习一

junit4单元测试--web项目中模拟登录会话,做全流程测试

JUnit4 学习感悟

如何将JUnit 4测试添加到JUnit 3测试套件中