zoukankan      html  css  js  c++  java
  • 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


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

  • 相关阅读:
    Java JMX 监管
    Spring Boot REST(一)核心接口
    JSR 规范目录
    【平衡树】宠物收养所 HNOI 2004
    【树型DP】叶子的颜色 OUROJ 1698
    【匈牙利匹配】无题II HDU2236
    【贪心】Communication System POJ 1018
    【贪心】Moving Tables POJ 1083
    Calling Extraterrestrial Intelligence Again POJ 1411
    【贪心】Allowance POJ 3040
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4651804.html
Copyright © 2011-2022 走看看