Java---JUnita、注解与类加载器详解以及实例(1)

简介: Java---JUnita、注解与类加载器详解以及实例

JUnit软件测试技术(工具)


在项目中建立专门用户测试的包结构。

在Junit中,通过@Test注解,可以运行一个方法。


★ Junit注解说明


使用了@Test注解应该满足以下条件:

1) 必须是无参数的非静态方法。

2) 添加@Test注解的类,必须拥有一个无参数的公开构造


★ JUnit测试示例演示


1、运行完成后,可以在Junit的窗口上看到运行所用的时间和结果信息。

2、被测试程序的运行结果出现在控制台(Console)上。


“项目”代码:


package cn.hncu.user.dao.dao;
/**
 * @author 陈浩翔
 * @version 1.0  2016-5-4
 */
public interface UserDao {
    public abstract void fun1()throws Exception;
    public abstract void fun2();
    public abstract void fun3();
}


package cn.hncu.user.dao.impl;
import cn.hncu.user.dao.dao.UserDao;
/**
 * @author 陈浩翔
 * @version 1.0  2016-5-4
 */
public class UserDaoImpl implements UserDao{
    @Override
    public void fun1() throws Exception {
        System.out.println("fun1....");
    }
    @Override
    public void fun2() {
        System.out.println("fun2....");
    }
    @Override
    public void fun3() {
        System.out.println("fun3....");
    }
}
package cn.hncu.user.dao.factory;
import cn.hncu.user.dao.dao.UserDao;
import cn.hncu.user.dao.impl.UserDaoImpl;
/**
 * @author 陈浩翔
 * @version 1.0  2016-5-4
 */
public class UserDaoFactory {
    public static UserDao getUserDao(){
        return new UserDaoImpl();
    }
}


随便写了几个输出。。。

下面的是测试代码:

package cn.hncu.test;
import org.junit.Test;
import cn.hncu.user.dao.dao.UserDao;
import cn.hncu.user.dao.factory.UserDaoFactory;
import cn.hncu.user.dao.impl.UserDaoImpl;
/**
 * @author 陈浩翔
 * @version 1.0  2016-5-4
 */
//使用@Test的条件2:该类必须具有一个无参构造方法
public class TestUserDaoImpl {
    UserDao dao = UserDaoFactory.getUserDao();
    /**
     * 测试fun1()方法
     */
    //使用@Test的条件1:测试方法必须是非静态、无参
    @Test
    public void testFun1(){
        try {
            dao.fun1();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    @Test
    public void testFun2() {
        dao.fun2();
    }
    @Test
    public void testFun3() {
        dao.fun3();
    }
}

正确的演示结果:

image.png

错误的演示结果:(没有无参构造方法)

image.png

目录
相关文章
|
4天前
|
Java 编译器 程序员
java注解浅述
java注解浅述
12 1
|
4天前
|
Java
java中递归实例
java中递归实例
18 0
|
3天前
|
ARouter Java
Java注解之编译时注解
Java注解之编译时注解
16 3
|
4天前
|
Java
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
14 4
|
4天前
|
Java 编译器 开发者
Java一分钟之-Java注解的理解与应用
【5月更文挑战第12天】本文介绍了Java注解的基础知识和常见应用,包括定义、应用和解析注解。注解在编译检查、框架集成和代码生成等方面发挥重要作用。文章讨论了两个易错点:混淆保留策略和注解参数类型限制,并提供了避免策略。提醒开发者避免过度使用注解,以保持代码清晰。理解并恰当使用注解能提升代码质量。
13 3
|
4天前
|
Java API Python
java注解
java注解
|
4天前
|
JSON 前端开发 Java
【JAVA进阶篇教学】第七篇:Spring中常用注解
【JAVA进阶篇教学】第七篇:Spring中常用注解
|
4天前
|
Java
代码实例演示Java字符串与输入流互转
代码实例演示Java字符串与输入流互转
|
4天前
|
IDE Java 数据库连接
Lombok注解大全
这些是Lombok中的一些常见注解,它们可以显著减少Java代码中的冗余代码,提高代码的可读性和可维护性。不过,在使用Lombok之前,请确保你的开发环境已经配置好支持Lombok,通常需要安装相应的插件或进行设置以使IDE(如Eclipse、IntelliJ IDEA)能够正确解析Lombok注解。
27 2
|
4天前
|
Java 编译器 Android开发
Java注解你知多少?
Java注解你知多少?
13 1