Junit入门到掌握-3-JUnit基础-第一个JUnit单元测试代码详解

前面环境搭建好了,我们来写一个JUnit的单元测试,然后分析里面代码,引出一些JUnit的基本概念。

 

1.环境准备

新建一个overview包,然后新建一个Test01.java文件,写入下面代码内容。

package overview;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

public class Test01 {
	
	@Test
	public void test1() {
		assertEquals(5, "hello".length());
	}
}

保存之后,JUnit自动添加到了build path依赖。

这个可以看出使用Junit的版本号。

 

2.代码解释

        @Test
	public void test1() {
		assertEquals(5, "hello".length());
	}

在Junit中,任何测试方法如果想要通过JUnit方式运行,这些方法前面一行需要添加@Test注解。添加了这个注解,就是告诉JUnit框架,这个方法是一个JUnit测试用例,不加就是Java中普通的方法。在添加这个注解过程,会提示要导入JUnit的Test包,所以导包语句中有 import org.junit.Test;

这个地方有很多知识点,我们一个一个来讲。

2.1 JUnit方法只能使用public修饰

关于这点,我们把public 改成private,然后运行下。

如果是private修饰,会报Java异常,没有找到匹配的测试。

2.2 JUnit方法不能有返回值

把Junit方法换成下面代码,尝试执行下run as junit。

        @Test
	public int test1() {
		assertEquals(5, "hello".length());
		return 1 + 1;
	}

得到和2.1中相同的异常,所以记住Junit测试方法中没有返回值,必须是void。

2.3 早期JUnit方法名称必须是test开头,现在可以是任意。

这里说一下,为什么我写方法名称是test1(), 这个是个人习惯。因为早期JUnit版本就是要求方法名称必须小写的test开头,后来最新和JUnit4和JUnit5就没有这个要求,方法名称可以随便取,例如下面的例子。

        @Test
	public void verifyStringLength() {
		assertEquals(5, "hello".length());
	}

上面方法名称为verifyStringLength,验证字符长度,也是可以运行

 

2.4 断言

在JUnit中,关于断言,有很丰富的封装好的断言,判断方法供我们使用,这也是作为Java程序员使用JUnit写单元测试的一个理由。既然有轮子,为什么还要去造轮子呢。

assertEquals(5, "hello".length());

这个断言方法是判断两个对象相等,第一个参数是期待结果,第二个参数是实际结果。

关于想了解更多断言,在Junit中断言方法一般是assert开头,然后你根据代码提示,选择你需要的断言方法

 

2.5 更多注解

上面我说了一个@Test注解,如果要非常熟练使用JUnit,我们还需要学习以下常见的注解。

@Test
@Before
@After
@BeforeClass
@AfterClass
@Ignore
@Test(expected = Exception.class)
@Test(timeout=100)

这些注解,我们后面文章会逐一介绍到。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值