前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【JUnit】Java单元测试

【JUnit】Java单元测试

作者头像
devi
发布2021-08-19 14:40:50
5640
发布2021-08-19 14:40:50
举报
文章被收录于专栏:搬砖记录

JUnit


1. 测试流程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. JUnit

相关术语:

  • TestCase:表示一个测试单元
  • TestSuite:表示一组TestCase
  • TestFixture:测试环境
  • TestResult:保存测试结果
  • TestRunner:运行测试
  • TestListener:监听测试过程,收集测试数据
  • Assert:断言
在这里插入图片描述
在这里插入图片描述

3. Junit生命周期

有五个常用注解

  • @Test 标注测试方法
  • @Before 测试方法运行之前运行,初始化测试对象
  • @After 测试方法运行之后运行,销毁测试对象
  • @BeforeClass 测试类开始前执行,初始化重量级测试对象
  • @AfterClass 测试类结束后执行,销毁收尾工作
在这里插入图片描述
在这里插入图片描述
  1. 调用@BeforeClass
  2. 对于每个测试方法,调用@Before、@Test、@After
  3. 调用@AfterClass

例子:

代码语言:javascript
复制
@Test
public void test1(){
	Test t = new Test();
	// 开始测试
}

@Test
public void test2(){
	Test t = new Test();
	// 开始测试
}

@Test
public void test3(){
	Test t = new Test();
	// 开始测试
}

上述的三个测试都需要初始化一个Test对象,因此可以将该对象放到@Before中

代码语言:javascript
复制
@Before
public void setUp(){
	Test t = new Test();
}

@Test
public void test1(){
	// 开始测试
}

@Test
public void test2(){
	// 开始测试
}

@Test
public void test3(){
	// 开始测试
}

这样在每个测试开始时,都会自动调用@Before中的方法

4. 异常测试

异常测试,指的是:该方法必须抛出这个异常,才能通过测试

使用 @Test(expected = NumberFormatExcpetion.class) 标注该测试必须抛出数字格式化异常

5. 参数化测试

参数化测试,指的是:给定测试集{输入,预期输出},然后统一进行测试。

使用下面的代码模板即可(测试绝对值函数为例)

代码语言:javascript
复制
@RunWith(Parameterized.class)
public class MyTest {

    @Parameterized.Parameters
    public static Collection<?> data(){
    	// 构造测试数据,二维数组第一个是输入,第二个是预计输出
        return Arrays.asList(new Object[][]{
                        {0,0},
                        {1,1},
                        {3,"3"}}
                );
    }

    private int input;
    private int expected;
    public MyTest(int input,int expected){
        this.input = input;
        this.expected=expected;
    }

    @Test
    public void test(){
    	// 调用测试方法
        int r = Math.abs(this.input);
        // 进行测试比对
        Assert.assertEquals(this.expected,r);
    }
}

写法固定,只需要更改测试集即可。

5. 超时测试

@Test(timeout=1000)即可

6. springboot中的测试

参考

自动化测试

参考

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/06/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JUnit
  • 1. 测试流程
  • 2. JUnit
  • 3. Junit生命周期
  • 4. 异常测试
  • 5. 参数化测试
  • 5. 超时测试
  • 6. springboot中的测试
    • 自动化测试
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档