测试工具学习笔记 - JUnit4

本文详细介绍了 JUnit 测试框架的使用方法,包括如何引入依赖、编写测试用例、使用 Assert 和 Assume 方法验证预期结果、配置 TestRunner 和 TestRule、管理 TestFixtures 以及设置通用功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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:  
 

转载于:https://www.cnblogs.com/qianmin/p/6049409.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值