JAVA - 单元测试

注:

以下笔记资料来源于各种网页 + 本人实操的理解.
如发现错误可以指出.引用网页资料的链接会放在下方
计科一
忘记复制网址了

一、IDEA下环境配置

Eclipse的我没用不知道,自行百度

使用idea IDE 进行单元测试,首先需要安装JUnit 插件。

1.安装JUnit插件步骤

 File-->settings-->Plguins-->Browse repositories-->输入JUnit-->选择JUnit Generator V2.0安装。

2.使用JUnit插件

在需要进行单元测试的类中,使用快捷键alt+insert,选择JUnit test,选择JUnit4。

单元测试

Test
   public void testAdd() {
       assertEquals(2, new UserDao().add(1, 1));
   }
注意事项:

1、测试方法上面必须使用@Test注解进行修饰。
2、测试方法必须使用public void 进行修饰,不能带有任何参数。
3、新建一个源代码目录用来存放测试代码。
4、测试类的包应该与被测试类的包保持一致。
5、测试单元中的每一个方法必须独立测试,每个测试方法之间不能有依赖。
6、测试类使用Test做为类名的后缀(非必要)。
7、测试方法使用test作为方法名的前缀(非必要)。

错误解析

1、Failure 一般是单元测试使用的断言方法判断失败引起,说明预期结果和程序运行结果不一致。
2、error 是有代码异常引起的,他产生于测试代码本身中的Bug。
3、测试用例是不是用来证明你是对的,而是用来证明你没有错。

@BeforeClass
public static void setUpBeforeClass() throws Exception {

}
@AfterClass
public static void setUpAfterClass() throws Exception {

}
@Before
public void before() throws Exception {

}
@After
public void after() throws Exception {

}

1、@BeforeClass所修饰的方法在所有方法加载前执行,而且他是静态的在类加载后就会执行该方法,在内存中只有一份实例,适合用来加载配置文件。
2、@AfterClass所修饰的方法在所有方法执行完毕之后执行,通常用来进行资源清理,例如关闭数据库连接。3、@Before和@After在每个测试方法执行前都会执行一次。

常用注解

1、@Test(excepted=XX.class) 在运行时忽略某个异常。
2、@Test(timeout=毫秒) 允许程序运行的时间。
3、@Ignore 所修饰的方法被测试器忽略。
4、RunWith 可以修改测试运行器 org.junit.runner.Runner

套件测试

如果你有好多类要一起测试就可以使用套件测试
测试套件的写法需要遵守一下原则:

  1. 创建一个空类作为测试套件的入口。
  2. 使用 注释org.junit.runner.RunWith 和 org.junit.runners.Suite.SuiteClasses 来修饰这个空类。
  3. 将org.junit.runners.Suite作为参数传入给注释RunWith。 @RunWith(Suite.class)
  4. 将 测试的类组成数组,作为注释SuiteClass的参数 @SuiteClasses({test1.class,test2.class})
  5. 定义的空类,使用public 修饰,而且存在公开的不带任何参数的构造函数
/*套件测试.class*/
package com.junit4.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({TTest.class,TTest2.class})
public class TestAll {
}
------------------------
/*TTest.class*/
package com.junit4.Test;
import org.junit.Test;
import static org.junit.Assert.*;
public class TTest {

    @Test
    public void add() {
        assertEquals(2, new T().add(1, 1));
    }

    @Test
    public void divide() {
    }
}

------------------------
/*TTest2.class
	懒得写两份就复制了TTest的*/
	package com.junit4.Test;

import org.junit.Test;
import static org.junit.Assert.*;
public class TTest2 {

    @Test
    public void add() {
        assertEquals(2, new T().add(1, 1));
    }

    @Test
    public void divide() {
    }
}

输出结果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值