(注解与反射共同使用的案例 )

相关说明:

1)JUnit用的是@Test注解,我们用@MyTest注解。

2)JUnit已经嵌入到MyEclipse当中,我们自己的MyJUnit只要能独立运行就可以(不嵌入),同时这样我们也不方便在MyJUnit中以参数方式接收到被测试类的类名与方法名,只能以键盘输入的方式接收。

3)JUnit能实现指定单个方法来调用执行,由于不能利用MyEclipse传参,因此我们在MyJUnit程序中遍历所有的方法并通过判断是否声明@MyTest注解来决定是否调用执行该方法。

MyTest类:

package cn.hncu.myJUnit.test;import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface MyTest {}

TestDemo:

package cn.hncu.myJUnit.test;public class TestDemo {@MyTestpublic void aa(){System.out.println("aaaa");}public void bb(){System.out.println("bbbb");}@MyTestpublic void cc(){System.out.println("ccc");}}

MyJUnit:

package cn.hncu.myJUnit.test;import java.lang.reflect.Method;
import java.util.Scanner;public class MyJUnit {public static void main(String[] args) throws Exception {System.out.println("请输入测试类名.:");//1、获得需要测试的类名Scanner sc=new Scanner(System.in);String clsName=sc.nextLine();Class c=Class.forName(clsName);//2、获得Class对象Object obj=c.newInstance();//3、获得所有方法Method[] ms=c.getDeclaredMethods();for(Method m:ms){//4、判断此方法上是否有MyTest注解if(m.isAnnotationPresent(MyTest.class)){System.out.println("正在测试方法:"+m.getName());//5、如果有就执行此注解方法m.invoke(obj, null);}}}}

运行结果:

【JUnit】作自己的测试工具MyJUnit相关推荐

  1. Java之工具-------Junit自己的测试工具MyJUnit

    学习底层,能让我们更清楚的运用所调用的函数或对象 一个小小的例子 (注解与反射共同使用的案例 ) 解释: 1)JUnit用的是@Test注解,我们用@MyTest注解. 2)JUnit已经嵌入到MyE ...

  2. Spring(二)——Junit测试工具、属性的注入方式、注解

    文章目录 1. Junit 测试工具 2. getBean的五种用法 3. 属性的注入方式 4. bean的生存范围和加载策略 5. 自定义属性的注入方式 6. Spring中各类注解的作用 1. J ...

  3. 白盒测试之Junit测试工具的使用

    本篇讲解软件测试技术之Junit测试工具的使用.Eclipse中集成了JUnit,不用安装就可以在项目中测试相关的类,并且可以调试测试用例和被测试类,可以非常方便的编写TestCase.(下载ecli ...

  4. JUnit不好用?也许你可以尝尝这些测试工具

    在我们日常的 TDD 开发中,永远绕不过去的就是要编写测试.而对于一个 Java 程序员,JUnit 似乎是一个不二的选择.它的确是一个十分优秀的工具,在大多数情况下都能够帮助我们完成测试的工作. 但 ...

  5. Junit测试工具使用

    Junit是单元测试框架工具,在项目开发中是经常用到的,利用JUnit4进行单元测试非常简单方便,所以熟悉Junit是很有必要的. Junit优点: 安装使用方便 可以同时执行多个测试方法 测试结果直 ...

  6. 软件测试查漏补缺(一)——驱动开发、系统测试、测试工具

    软件测试查漏补缺(一)--驱动开发.系统测试.测试工具 一.测试驱动开发 英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法. TDD要求 ...

  7. 2.[转] web测试工具总结

    纯粹的手工测试早已不满足如今的项目需求,各种测试工具的应用早已成为普遍趋势.如何选取合适的工具来完成对应的测试工作?本文将针对Web测试,列举 一些推荐的测试工具,并加以简单介绍. (每个工具的实际使 ...

  8. tcp 测试工具_6款免费网络延迟测试工具

    作为网络管理员或网络工程师,时刻关注网络的交付速度至关重要.不仅需要确保自己有良好的响应时间,还需要确保网络的速度足以满足用户通信所需的每一条路径.而手动测试每个路径将占用你所有的时间.所以需要获得一 ...

  9. Python中的测试工具

    当我们在写程序的时候,我们需要通过测试来验证程序是否出错或者存在问题,但是,编写大量的测试来确保程序的每个细节都没问题会显得很繁琐.在Python中,我们可以借助一些标准模块来帮助我们自动完成测试过程 ...

最新文章

  1. 苹果新的编程语言 Swift 语言进阶(十三)--类型检查与类型嵌套
  2. 最长回文子序列(算法导论15-2
  3. uni-app 更新包提示HTML5+Runtime缺少升级包manifest.json中配置的模块:payment
  4. PaperNotes(5)-Conditional Generative Adversarial Nets
  5. php函数可变参数列表,PHP函数可变参数列表的具体实现方法介绍
  6. SpringMVC+Json构建基于Restful风格的应用
  7. BFC(块级化上下文)
  8. 2014年5月30日
  9. 利用matlab求图像均值和方差的几种方法
  10. Qunee For Html5 开发清新、高效的拓扑图组件
  11. STM32F030使用RTC周期性唤醒STOP模式
  12. 图像识别--利用百度API免费调用
  13. html 源码_html制作个人博客网站模板源码下载
  14. JAVA儿童接种系统计算机毕业设计Mybatis+系统+数据库+调试部署
  15. 推特文本情感多分类高分方案
  16. [Excel启用编辑]的影响与关闭
  17. C语言常用语句之-分支语句
  18. Springboot配置两个不同IP的Cas的客户端client
  19. EXCEL二级数据有效性的设置问题
  20. python黑洞数——超简单方法O

热门文章

  1. STM32量产智能网络机柜监测系统开发方案
  2. 淘宝新品如何使用引力魔方进行推广,才能实现我们低价引流的目的
  3. 2016蓝桥杯 凑算式
  4. Renderdoc 帧调试器
  5. UBT6:ubuntu安装Flash Player
  6. php 模拟GMAIL邮箱登录
  7. python set类型和set()函数作用、用法等集合,让你学会用set
  8. 如何访问本地的FTP地址
  9. highcharts图表开发
  10. boolean和Boolean的区别