精华内容
下载资源
问答
  • java自定义@Test注解

    2019-09-18 14:08:04
    相信用过 Junit 的朋友都知道 JUnit是Java的一个单元测试框架,在实现自动单元测试的情况下可以大大的提高开发的效率,那么我们如何自定义一个@Test注解呢? 首先,我们先写一个@Test注解,如下: package ...

    相信用过 Junit 的朋友都知道 JUnit是Java的一个单元测试框架,在实现自动单元测试的情况下可以大大的提高开发的效率,那么我们如何自定义一个@Test注解呢?

    首先,我们先写一个@Test注解,如下:

    package annotation;
    
    import java.lang.annotation.ElementType;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.annotation.Target;
    
    /**
     * @author Woo_home
     * @create by 2019/9/18
     */
    @Retention(RetentionPolicy.RUNTIME)
    @Target(ElementType.METHOD)
    public @interface Test {
    }
    

    @Test注解类型的声明就是它自身通过Retention和Target注解进行了注解。注解类型声明中的这种注解被称为元注解(meta-annotation)。@Retention(RetentionPolicy.RUNTIME)元注解表明,@Test注解应该在运行时保留。如果没有保留,测试工具就无法知道@Test注解。@Target(ElementType.METHOD)元注解表明,@Test注解只在方法声明中才是合法的:它不能运用到类声明。域声明或者其他程序元素上

    在应用中使用@Test注解

    package demo;
    
    import annotation.Test;
    
    /**
     * @author Woo_home
     * @create by 2019/9/18
     */
    public class TestDemo {
    
        @Test
        public void hello(){
            System.out.println("Hello World");
        }
    
    }
    

    编写测试运行类

    package utils;
    
    import annotation.Test;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    
    /**
     * @author Woo_home
     * @create by 2019/9/18
     */
    public class RunTests {
        public static void main(String[] args) throws Exception{
            int tests = 0; //记录成功
            int passed = 0;//记录失败
            Class testClass = Class.forName("demo.TestDemo"); //反射带有@Test注解的类
            for (Method m : testClass.getDeclaredMethods()) {
                if (m.isAnnotationPresent(Test.class)){ //Test是定义的注解类,isAnnotationPresent方法告知该工具运行哪些方法
                    tests++;
                    try {
                        m.invoke(testClass.newInstance()); //通过调用invoke反射式地运行类中所有标注了@Test的方法
                        passed++;
                    }catch (InvocationTargetException wrappedExc){
                        Throwable exc = wrappedExc.getCause();
                        System.out.println(m + " failed: " + exc);
                    }catch (Exception exc){
                        System.out.println("INVALID @Test: " + m);
                    }
                }
            }
            System.out.printf("Passed: %d, Failed: %d%n",tests,tests-passed);
        }
    }
    

    我们运行这个类就会打印出标注有@Test注解的方法

    但是标注有@Test的类只能用于没有返回值的方法,如果用了有返回值的方法就会报错
    ,比如:

    package demo;
    
    import annotation.Test;
    
    /**
     * @author Woo_home
     * @create by 2019/9/18
     */
    public class TestDemo {
    
        @Test
        public int test1(int i){
            i = 0;
            return i;
        }
    
        @Test
        public void hello(){
            System.out.println("Hello World");
        }
    
    }
    

    运行测试运行类后会有一个失败
    在这里插入图片描述

    展开全文
  • JAVA自定义@Test注解

    千次阅读 2018-04-22 09:53:41
    这段时间软件测试的老师刚好教到了JUnit部分,要求做一个...首先是一个空的注解类MyTest.java :package com.iceflame.mytest; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPo...

    这段时间软件测试的老师刚好教到了JUnit部分,要求做一个简单的JUnit测试案例,所以顺便做了个@MyTest的小案例,算作是回顾知识。

    首先是一个空的注解类MyTest.java  :

    package com.iceflame.mytest;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    
    
    @Retention(RetentionPolicy.RUNTIME)
    public @interface MyTest {
    
    }

    然后是一个util类,里面的方法加上@MyTest注解

    package com.iceflame.mytest;
    
    public class StringUtil {
    	
    	
    	@MyTest
    	public void print()
    	{
    		System.out.println("print()方法执行了");
    	}
    
    }

    最后是核心运行类,coreRunner.java(主要是用反射的思想,取出加了注解的方法并执行)

    package com.iceflame.mytest;
    
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    
    public class CoreRunner {
    	
    	public static void main(String[] args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, InstantiationException, ClassNotFoundException {
    //		Class clazz=Class.forName("com.iceflame.mytest.StringUtil");
    		Class clazz=StringUtil.class;
    		Method [] methods=clazz.getMethods();
    		for(Method m:methods)
    		{
    			
    			if(m.isAnnotationPresent(MyTest.class))
    			{
    				m.invoke(clazz.newInstance(),null);
    			}
    		}
    	}
    
    }

    需要注意的是,m.invoke(***,null) 这里的null是参数,也就是方法执行的参数,我们这里利用反射是不知道参数的,所以也能解释为什么我们用@Test的时候,加注解的方法一般都没有参数,因为方法是静态的,而参数是动态的,在运行的时候传过来,我们现在只是利用反射,反向实例化一个类,然后执行里面的某一个无参方法。


    展开全文
  • import org.junit.jupiter.api.Test; //这个类用来测试变量的使用 public class Demo99 { /* * 单元测试Junit方法 ... * 要求:@Test方法 + public + void +... * @Test注解 (需要导包,4,5都可以) * public...
    package cn.edut.tarena;
    
    import org.junit.jupiter.api.Test;
    
    //这个类用来测试变量的使用
    public class Demo99 {
    	/*
    	 * 单元测试Junit方法
    	 * 
    	 * 要求:@Test方法 + public + void + 无参
    	 * 
    	 * @Test注解 (需要导包,4,5都可以)
    	 * public 能被底层调用
    	 * 测试效果:选中方法名 -- 右键 -- run as -- Junit test
    	 */
    	
    	private String classString = "classString" ;  
    	public int i = 10 ; 
    	@Test
    	public void show() {
    		System.out.println("1");
    		//局部变量:在方法里 + 必须手动完成初始化 + 作用范围在方法里
    		String InnerString = "InnerString" ; //局部变量需要有初始化 
    		System.out.println(InnerString ); //调用局部变量 (必须要初始化)
    		System.out.println(classString); //调用成员变量 (而且是私有的)(不必初始化,类的调用会自动初始化)
    		
    		int i = 0 ;
    		System.out.println(i);
    		System.out.println(this.i);//就近原则
    	}
    }
    
    
    展开全文
  • Java中的@Test注解

    2021-03-15 20:46:15
    Java中的@Test注解 @Test注解,方便我们对一段代码进行测试。 需要导入相应的包: import org.junit.Test; 在方法前加上 @Test , 则该方法即为测试方法,可以执行。

    Java中的@Test注解

    @Test注解,方便我们对一段代码进行测试。
    需要导入相应的包:

    import org.junit.Test;
    

    在方法前加上 @Test , 则该方法即为测试方法,可以执行。

    展开全文
  • Java入门1:注解@Test

    2020-05-04 16:53:19
    Java入门——@test注解@Test的用法 注解@Test的用法 在需要测试的方法上添加@Test注解,然后找到run该方法,点击可直接运行,测试该方法有无bug。 result=… Assert.assertEquals(“期望值”,“实际运行结果result”...
  • javaTest.jar

    2019-06-22 19:49:23
    java封装的两个方法,用于获取GET或POST的响应,可能会因为编码问题造成中文乱码,测试过可用。
  • 使用test注解 1、配置环境 选中java工程 -> 鼠标右击 ->properties -> Java Build Path - > Libraries -> Add Library -> JUnit 添加完成后就可以在方法上使用@Test注解了。 2、运行: 1、点击...
  • Java Unit Test - Junit

    万次阅读 2019-06-27 00:11:19
    Java Unit Test - Junit4.1.2 Java单元测试
  • java中 @Test注解的使用和其他成员

    万次阅读 2017-06-12 19:04:08
    import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass;...import org.junit.Test; /** * Junit单元测试 * 使用方法、固定写法、用法 *
  • Java注解

    千次阅读 2018-08-05 20:40:34
    Annotation(注解) 定义 基本注解 @Override @Deprecated @SuppressWarnings @SafeVarags @FuntionnalInterface 元注解 @Retention @Target @Document @Inherited @Repeatable 参考文献 Annotation...
  • java注解-最通俗易懂的讲解

    万次阅读 多人点赞 2018-06-05 10:24:36
    来源:秒懂,Java 注解 (Annotation)你可以这样学 Annotation 中文译过来就是注解、标释的意思,在 Java注解是一个很重要的知识点,但经常还是有点让新手不容易理解。 我个人认为,比较糟糕的技术文档主要特征...
  • Java Unit Test - Mocktio

    千次阅读 2019-07-10 07:31:24
    Java Unit Test - Mocktio
  • @Test 注解 在idea中,在方法前添加@Test,就可以将方法标记为单元测试,可与直接运行 比如 @Test public void test01(){ System.out.println("123456"); } 运行结果 123456
  • 前几天编程的时候遇到了一个问题,在引入了Junit包之后依旧没有办法...结果,今天心情一好,把自动生成的module-info.java这个文件删掉了,然后就直接可以用了…… 原因分析 由于知识的缺乏,我只知道module-inf...
  • 秒懂,Java 注解 (Annotation)你可以这样学

    万次阅读 多人点赞 2017-06-27 21:48:30
    文章开头先引入一处...Annotation 中文译过来就是注解、标释的意思,在 Java注解是一个很重要的知识点,但经常还是有点让新手不容易理解。 我个人认为,比较糟糕的技术文档主要特征之一就是:用专业名词来...
  • 深入JAVA注解(Annotation):自定义注解

    万次阅读 多人点赞 2019-07-31 18:40:53
    要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。 元注解:  元注解的作用就是负责注解其他注解Java5.0定义了4...
  • java-reflection-annotation-test 探索java反射和注解之美
  • Java注解基本用法

    万次阅读 多人点赞 2018-06-22 10:04:30
    注解基本概念注解(元数据)为我们在代码中添加信息提供一种形式化的方法,...JDK提供的注解Java目前内置了三种注解@Override、@Deprecated、@SuppressWarnnings@Override:用于标识方法,标识该方法属于重写父类的...
  • 我们在项目开发过程中,可能会对一些公用方法抽成工具类...如果我们把这些方法再抽成注解的形式,在一些业务情况下是否更灵活一些呢? 示例是纯净的,只引入了需要的架包,启动后直接访问:ip:port/user/test 查看效果。
  • 深入理解Java注解类型(@Annotation)

    万次阅读 多人点赞 2017-05-21 10:51:43
    【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) ... 出自【zejian的博客】 关联文章: 深入理解Java类型信息(Class对象)与反射机制 ...深入理解Java注解类型(@Annotation) 深入理解
  • java 如何使用@test

    千次阅读 2019-09-06 19:19:55
    import org.junit.Test; public class TestMethods { ...1:首先需要导入import org.junit.test这个jar包,@Test注解要写在你要测试的方法上面 2:然后点击–运行方式,再点击Junit测试,就可以了。...
  • Java 注解校验

    千次阅读 2018-12-17 13:50:25
    java bean validation 参数验证 一、前言 二、几种解决方案 三、使用bean validation 自带的注解验证 四、自定义bean validation 注解验证 一、前言  在后台开发过程中,对参数的校验成为开发环境不可缺少的一个...
  • Java注解的作用

    万次阅读 多人点赞 2018-05-20 16:29:34
    注解的好处: 1.能够读懂别人写的代码,特别是框架相关的代码。 2.本来可能需要很多配置文件,需要很多逻辑才能实现的内容,就可以使用一个或者多个注解来替代,这样就使得编程更加简洁,代码更加清晰。 3.(重点...
  • Java的@RunWith和@SpringBootTest注解详解

    万次阅读 2020-01-25 16:18:55
    @RunWith 当一个类用@RunWith注释或继承一个用@Run...@SpringBootTest 配置文件属性的读取 可以在运行SpringBoot为基础的测试类上指定的注释。在常规Spring TestContext框架之上和之上提供以下特性: 当定义没有特...
  • Java注解解析

    千次阅读 2018-05-11 09:55:28
    转载:https://blog.csdn.net/l1028386804/article/details/80275085一、注解的基本概念Java 注解就像修饰符一样,可以用于从java代码中抽取文档、跟踪代码中的依赖性...注解的工作原理就是,先使用注解修饰java代...
  • 导入对应的jar包即可
  • Java文档注释是一种功能强大的注释形式,如果在你所编写的程序中规范的添加文档注释,那你就可以生成一份系统正规的API文档。Java文档注释 /**文档注释内容*/,注意区分多行注释/*多行注释*/。 Eclipse怎么生成API...
  • Java注释模板

    千次阅读 2019-06-17 16:56:06
    <?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="true" context="java" deleted="false" description="代码变更注释模版" enabled="true" name="mc">//${user} ${date} ${...
  • 一、IDEA使用junit的@Test注解报错 1、File -- Project Structure -- Modules 2、点击加号 3、选择JARs or directories... 4、在idea的安装路径下 的lib文件夹,选中两个jar包 5、然后勾选上,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 382,277
精华内容 152,910
关键字:

java注解test

java 订阅