java中junit_【Java】Junit快速入门

本文介绍了Java中的单元测试框架JUnit,包括其由来和作用。详细讲解了JUnit的基本使用,如创建测试类、编写测试方法,并展示了@Test注解的不同用法,如设置预期异常和超时。同时,文章还阐述了JUnit测试类的编写原则,强调了测试方法的独立性和注解的规范。
摘要由CSDN通过智能技术生成

Junit介绍

JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。

JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

Junit简单使用

1、新建一个普通的maven工程,引入依赖

1

2 junit

3 junit

4 4.12

5

2、新建一个测试类JunitTest.java,并且写一个无入参,无返回值的普通方法,在方法上加上注解@Test,如下

1 packagecom.test.junite;2

3 importorg.junit.Test;4

5 public classJunitTest {6

7 @Test8 public voidtestJunit(){9 System.out.println("测试Junit,简单使用...");10 }11 }

3、测试结果

551eb392b26a121c772c9c2ade195083.png

Junit常用注解

1、与测试流程相关的4个注解

1 packagecom.test.junite;2

3 importorg.junit.After;4 importorg.junit.AfterClass;5 importorg.junit.Before;6 importorg.junit.BeforeClass;7 importorg.junit.Test;8

9 public classJunitFlowTest {10

11 /**

12 * 1、@BeforeClass修饰的方法会在所有方法被调用前被执行13 * 而且该方法是静态的,所有当测试类被加载后接着就会运行它14 * 而且在内存中它只会存在一份实例,它比较适合加载配置文件15 * 2、@AfterClass所修饰的方法通常用来对资源的清理,如关闭数据库的连接16 * 3、@Before和@After会在每个测试方法的前后各执行一次17 *18 */

19

20 @BeforeClass21 public static void setUpBeforeClass() throwsException {22 System.out.println("this is @BeforeClass ...");23 }24

25 @AfterClass26 public static void tearDownAfterClass() throwsException {27 System.out.println("this is @AfterClass ...");28 }29

30 @Before31 public void setUp() throwsException {32 System.out.println("this is @Before ...");33 }34

35 @After36 public void tearDown() throwsException {37 System.out.println("this is @After ...");38 }39

40 @Test41 public voidtest1() {42 System.out.println("this is test1 ...");43 }44

45 @Test46 public voidtest2() {47 System.out.println("this is test2 ...");48 }49

50 }

运行结果如下:

71596cb70c22625630827126e41de111.png

2、与@Test相关的

1 packagecom.test.junite;2

3 import staticorg.junit.Assert.assertEquals;4

5 importorg.junit.Ignore;6 importorg.junit.Test;7

8 public classAnnotationTest {9

10 /**

11 * @Test:将一个普通的方法修饰成为一个测试方法12 * @Test(expected=XX.class)13 * @Test(timeout=毫秒)14 * @BeforeClass:它会在所有方法运行前被执行,static修饰15 * @AfterClass:它会在所有方法运行后被执行,static修饰16 * @Before:会在每一个测试方法运行前被执行一次17 * @After:会在每一个测试方法运行后被执行一次18 * @Ignore:所修饰的测试方法会测试运行器被忽略19 * @RunWiht:可以更改测试运行器 org.junit.runner.Runner20 */

21 @Test(expected=ArithmeticException.class)22 public voidtestDivide() {23 assertEquals(3, 3 / 0);24 }25

26 @Test(timeout=2000)27 public voidtestTimeout() {28 while (true) {29 System.out.println("run forever ...");30 }31 }32

33 @Ignore34 @Test35 public voidtestIgnore() {36 System.out.println("this is testIgnore ...");37 }38 }

Junit测试类编写原则

1、测试方法必须使用@Test进行修饰

2、测试方法必须使用public void 进行修饰,不能带任何参数

3、新建一个源码目录来存放我们的测试代码

4、测试类的包应该和被测试类保持一致

5、测试单元中的每个方法必须可以独立测试,测试方法间不能有任何依赖

6、测试类使用Test作为类名后缀(非必须)

7、测试方法使用test作为方法前缀(非必须)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值