单元测试
- 单元测试
- 单元测试就是针对最小的功能单元(即方法)编写测试代码,Java程序最小的功能单元是方法,因此,单元测试就是针对Java方法的测试,进而检查方法的正确性。
-
Junit单元测试框架
- JUnit是使用Java语言实现的单元测试框架,它是开源的,Java开发者都应当学习并使用JUnit编写单元测试。
- 此外,几乎所有的IDE工具都集成了JUnit,这样我们就可以直接在IDE中编写并运行JUnit测试,JUnit目前最新版本是5。
-
JUnit优点
- JUnit可以灵活的选择执行哪些测试方法,可以一键执行全部测试方法。
- Junit可以生成全部方法的测试报告。
- 单元测试中的某个方法测试失败了,不会影响其他测试方法的测试。
- Junit单元测试是做什么的?
- 测试类中方法的正确性的。
- Junit单元测试的优点是什么?
- JUnit可以选择执行哪些测试方法,可以一键执行全部测试方法的测试。
- JUnit可以生测试报告,如果测试良好则是绿色;如果测试失败,则是红色。
- 单元测试中的某个方法测试失败了,不会影响其他测试方法的测试。
单元测试快速入门
- JUnit单元测试的实现过程是什么样的?
- 必须导入Junit框架的jar包。
- 定义的测试方法必须是无参数无返回值,且公开的方法。
- 测试方法使用@Test注解标记。
- JUnit测试某个方法,测试全部方法怎么处理?成功的标志是什么
- 测试某个方法直接右键该方法启动测试。
- 测试全部方法,可以选择类或者模块启动。
- 红色失败,绿色通过。
单元测试常用注解
- Junit常用注解(Junit 4.xxxx版本)
注解 | 说明 |
---|---|
@Test | 测试方法 |
@Before | 用来修饰实例方法,该方法会在每一个测试方法执行之前执行一次。 |
@After | 用来修饰实例方法,该方法会在每一个测试方法执行之后执行一次。 |
@BeforeClass | 用来修饰静态方法,该方法会在所有测试方法之前只执行一次。 |
@AfterClass | 用来修饰静态方法,该方法会在所有测试方法之后只执行一次。 |
import com.zhou.supermarket.SuperMarket;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class JunitTest {
// public static void main(String[] args) {
// SuperMarket supermarker = new SuperMarket("卡莎");
// supermarker.register();
//
// }
StudentDao dao = new StudentDao();
@Before
public void before() {
System.out.println("我要开始执行啦");
}
@After
public void after() {
System.out.println("我执行完成啦");
}
@Test
public void testSuperMarketRegister() {
/*SuperMarket supermarker = new SuperMarket("卡莎");
supermarker.register();*/ dao.saveStudent();
}
@Test
public void testSuperMarketLogin() {
/*SuperMarket supermarker = new SuperMarket("卡莎");
supermarker.login();*/ dao.delete();
}
}
-
单元测试的方法只能是:public 和 void
-
开始执行的方法:初始化资源。
-
执行完之后的方法:释放资源。
-
Junit常用注解(Junit 5.xxxx版本)
注解 | 说明 |
---|---|
@Test | 测试方法 |
@BeforeEach | 用来修饰实例方法,该方法会在每一个测试方法执行之前执行一次。 |
@AfterEach | 用来修饰实例方法,该方法会在每一个测试方法执行之后执行一次。 |
@BeforeAll | 用来静态修饰方法,该方法会在所有测试方法之前只执行一次。 |
@AfterAll | 用来静态修饰方法,该方法会在所有测试方法之后只执行一次。 |
- 开始执行的方法:初始化资源。
- 执行完之后的方法:释放资源。