TestNG中是否有测试类特定的侦听器(类似于Junit runner)?

时间:2012-06-08 10:03:40

标签: junit testng

现有的Junit设置:

我编写了一个junit测试运行器,它在执行之前解析测试类,并读取在测试类中的每个可测试方法上编写的自定义注释。基于注释的聚合值,制定一个配置,然后我用它来设置测试环境并操纵它。当基于在测试环境上完成的操作执行测试时,我生成结果。

现状:

现在我们正在评估TestNg的相同任务。我理解TestNG中的术语和执行方式略有不同。现在我在TestNG中为各种套件提供了不同的套件文件,每个套件都有一个测试部分,里面有多个测试类。我想要我在TestNG中为Junit做的事情(如上所述),因此当套件执行并执行每个测试类时,就在执行测试类之前,我想执行我的环境设置和操作。我看到了TestNG中的各种听众和避难所都能够找到符合我目的的特定听众(能够拦截个别的班级执行)。这是一个做我需要的倾听者还是有办法实现我想做的事情?

我不打算以编程方式执行我的测试设置,并且想要评估TestNg的功能,因此请为我寻求的内容提供答案,而不是谴责该方法本身。

2 个答案:

答案 0 :(得分:1)

您是否可以发布一个测试类的示例,您使用的自定义注释并解释它们的作用?

根据您的描述,IMethodInterceptor可能就是您所需要的(TestNG会为您提供其即将运行的方法的列表,并且您有机会更改该列表)。

答案 1 :(得分:0)

得到了我正在寻找的解决方案。似乎我正在寻找的功能是通过实现接口ITestRunnerFactory提供的,其newTestRunner方法返回给我一个Test runner。