• TestNg显示器(一个)-----监听器,类型和配置使用---另外META-INF详细解释


    原创文章,版权所有所有。转载,归因:http://blog.csdn.net/wanghantong/article/details/40404939


    TestNg提供了听众和拦截多种接口开发我们自己的扩展。通过实施这些接口,己定义我们在測试中想要的行为

    接口列表:

    原创文章,版权全部,同意转载。标明出处:http://blog.csdn.net/wanghantong/article/details/40404939

    TestNg提供了三种方式来配置开发人员自己的接口:

    1.注解

    在TestNg中提供了一个类级别的注解。@Listeners({*.class, *.class})

    *.class就是我们自己实现的监听

    这样的方式在我们开发中比較经常使用

    2.配置文件

    在配置文件里我们能够通过

    <listeners>
            <listener class-name="全类名"></listener>
        </listeners>

    来进行插拔式配置,这样的方式是更灵活的。比第一种写死在代码中更为方便

    3.通过ServiceLoader的方式

    这样的方式是比較复杂的,它很多其它的使用于对在编写扩展框架时使用。比方我们对TestNg的增强,然后封装成框架,提供给别人使用

    说到打包就不得不说的一个东西META-INF,事实上我们在project文件里常常看到这个它,可是似乎一部分人不大知道它的作用。

    在研究TestNg这个功能之前,我也是属于这一部分人中的

    以下先说META-INF

    它包括了例如以下文件/目录

    1.MANIFEST.MF ----- 定义一些扩展和打包相关的数据

    2.INDEX.LIST ------ 这文件是在jar 工具打包的时候 使用 ' -i ' 选项来生成的,它包括了应用程序或扩展包中的位置声明。它是JarIndex实现的一部分,通常被类载入器用来加速类的载入过程

    3.x.SF ------ jar文件的签名文件

    4.x.DSA ------ 签名块文件,用相同的文件名称关联着签名文件。这个文件存储了签名摘要和签名文件是一样的。

    5.services/ ------ 这个文件夹用来存储全部的业务供应源的配置文件

    上述的这些文件或目录能够被Java 2 平台自己主动的识别和解读并配置到应用程序、扩展、类载入器和业务中


    接下来我们要做的就是把我们写好的接口扩展实现类(.class)。和META-INF中放在同一个文件夹下,记得类假设带有包名。那么和META-INF同级的是包的根文件夹

    然后我们在META-INF中创建services文件夹。在当中创建一个文件。文件名称为我们实现的接口的名称。文件内容写的是我们的实现类的完整文件夹

    将META-INF和类文件打包生成jar文件

    此时就完毕了,我们仅仅须要把生成的jar包加入到项目中就能够了。

    注:假设我们在IDE中操作,那么我们须要注意哦,假设你把写好的实现类复制出来打包又引入回去的话。,,事实上这个时候。源代码的中的代码是会覆盖jar包中的代码运行的


    原创文章。版权全部,同意转载。标明出处:http://blog.csdn.net/wanghantong/article/details/40404939


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    恢复误删的进程在使用的文件
    Linux系统CPU频率调整工具使用
    ubuntu opencv的使用
    ubuntu14.04 安装PCL
    boost 错误报告
    Ubuntu 查看软件版本
    Ubuntu14.04下安装glog
    PCL 编译中遇到 error C4996: 'pcl::SAC_SAMPLE_SIZE'
    EXE DLL等可执行程序添加版本号版权等信息
    ubuntu16.04中将python3设置为默认
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4651804.html
Copyright © 2020-2023  润新知