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

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

上一篇:NOIP2006金明的预算方案[DP 有依赖的背包问题]


下一篇:MyBatis笔记----报错Exception in thread "main" org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.ij34.model.UserMapper.selectUser