【问题标题】:Is there a test class specific listener ( similar to Junit runner ) in TestNG?TestNG 中是否有特定于测试类的侦听器(类似于 Junit runner)?
【发布时间】:2012-06-12 06:43:38
【问题描述】:

现有的 Junit 设置:

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

当前状态:

现在我们正在为同一任务评估 TestNg。我了解 TestNG 中的术语和执行方式有些不同。现在我为 TestNG 中的各种套件提供了不同的套件文件,每个套件都有一个测试部分,其中包含多个测试类。我也想要在 TestNG 中为 Junit(如上所述)所做的事情,因此,当执行套件并执行每个测试类时,就在执行测试类之前,我想执行我的环境设置和操作。我看到了文档TestNG 中的各种侦听器,并且无法为我的目的找到特定的侦听器(能够拦截单个类的执行)。那是做我需要的听众还是有办法实现我想做的事情?

我不希望以编程方式执行我的测试设置,而是想评估 TestNg 的功能,因此请提供我所寻求的答案,而不是谴责该方法本身。

【问题讨论】:

    标签: junit testng


    【解决方案1】:

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

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

    【讨论】:

    • @RunWith(MyRunner.class) @MyClassAnnotation(artifcats = {"TestApp.war"},config = "myconfigfile") public class MyTestClass { @Test @MyMethodAnnotation(url = "/TestApp/test.myservlet",load = 10) public void testServletAutoDiscovery() { //get response for the load generated and test for the valid response values } } 我的类注解根据提供的值配置容器,我的方法注解为部署的工件生成负载。测试类可以包含多个依赖于相同配置文件的此类测试方法.
    【解决方案2】:

    得到了我正在寻找的解决方案。似乎我正在寻找的功能是通过实现接口 ITestRunnerFactory 提供的,它的 newTestRunner 方法返回一个测试运行器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多