junit浅学笔记二

简介:

上一节初步介绍了什么是单元测试,为什么要做单元测试,以及junit4的初步使用,这里我们接着说一下junit4中的注解。

  =============本节知识点============================

*     Error和Failures

*    Junit4 Annotation

==================================================================

 

1.   在讲注解之前,先来认识 Error和Failures这两种错误有什么不同。

 

Errors:表示程序本身错误

 


@Test
    publicvoid testAdd() {
        int z=new T().add(5,3);
        assertEquals(8,z);
        int a=8/0;  //这一句是有错误的
    }

 运行方法,会有一下错误提示:

Failures: 是指测试失败。






@Test
    publicvoid testAdd() {
        int z=new T().add(5,4); //这里修改了数值,把4该为3就正确了 
        assertEquals(8,z);
    }

在来运行这个方法,看一下错误提示:

所以,我们在写测试程序的时候,要先保证Errors是没有错误的,再来看Failures有没有错误。

 

2.  下面介绍junit4 的常用注解

-----------------------------------------------------------------------------------------------

*             @ Test:测试方法

                  A)  (expected=XXEception.class)

                B)  (timeout=xxx)

*.           @ Ignore: 被忽略的测试方法

*.           @Before: 每一个测试方法之前云行。

*.           @After : 每一个测试方法之后运行。

*.           @BefreClass 所有测试开始之前运行。

*.           @AfterClass 所有测试结果之后运行。

------------------------------------------------------------------------------------------------

下面通过一个测试程序来解释这些注解含义

package com.junit4.cc.test;

importstatic org.junit.Assert.*;
importstatic org.hamcrest.Matcher.*;

import org.junit.Test;
import com.junit4.cc.*;

import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.AfterClass;
import org.junit.After;
import org.junit.Ignore;


publicclass TTest {
    
    @BeforeClass  //的所有方法运行之前运行。
publicstaticvoid beforeClass(){
        System.out.println("------------beforeClass");
    }
    
    @AfterClass   //在所有方法运行之后运行
publicstaticvoid afterClass(){
        System.out.println("-------------afterClass");
    }
    
    @Before   //每个测试方法运行之前运行
publicvoid before(){
        System.out.println("=======before");
    }
    
    @After   //每个测试方法运行之后运行
publicvoid after(){
        System.out.println("=======after");
    }

    @Test
    publicvoid testAdd() {
        int z=new T().add(5,3);
        assertEquals(8,z);
        System.out.println("test Run through");
    }
    
    @Test ()
    publicvoid testdivision(){
              System.out.println("in Test Division");

    }

    @Ignore   //表示这个方法是不被运行的
    @Test
    (expected=java.lang.ArithmeticException.class,timeout=100) //timeout表示要求方法在100毫秒内运行完成,否则报错
publicvoid testDivide(){
        int z =new T().divide(8,2);
    }
    
    

}

运行结果如下:

标记红星(*)方法在每个方法开始和结尾都运行一次。

标记绿星(*)的方法只在所有方法的开始和结尾运行一次。

junit有多种注解,我们常用的也就上面几种。

目录
相关文章
|
测试技术 程序员 开发者
|
测试技术 程序员 Android开发
|
5月前
|
XML Java 测试技术
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
这篇文章介绍了Spring5框架的三个新特性:支持@Nullable注解以明确方法返回、参数和属性值可以为空;引入函数式风格的GenericApplicationContext进行对象注册和管理;以及如何整合JUnit5进行单元测试,同时讨论了JUnit4与JUnit5的整合方法,并提出了关于配置文件加载的疑问。
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
|
3月前
|
Java 程序员 测试技术
Java|让 JUnit4 测试类自动注入 logger 和被测 Service
本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
41 5
|
4月前
|
SQL JavaScript 前端开发
基于Java访问Hive的JUnit5测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Java、来开发Hive应用的方法,产生的代码如下
83 6
|
5月前
|
测试技术
单元测试问题之使用TestMe时利用JUnit 5的参数化测试特性如何解决
单元测试问题之使用TestMe时利用JUnit 5的参数化测试特性如何解决
67 2
|
5月前
|
测试技术
如何使用 JUnit 测试方法是否存在异常
【8月更文挑战第22天】
104 0
|
5月前
|
Java 测试技术 Maven
Junit单元测试 @Test的使用教程
这篇文章是一个关于Junit单元测试中`@Test`注解使用的教程,包括在Maven项目中添加Junit依赖、编写带有@Test注解的测试方法,以及解决@Test注解不生效的常见问题。
|
7月前
|
运维 Java 测试技术
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
60 3