如何使用testng.xml从大型TestNG套件执行一个测试?

时间:2009-11-04 09:31:59

标签: java unit-testing testng

我有一个包含大量方法的TestNG套件。我使用构建在TestNG运行程序之上的包装器来执行此套件。套件中的所有测试都会失败,除了一个。我应该在testng.xml中写什么来执行那个失败的测试?

明显的解决方案是为所有方法分配唯一的组名,然后在testng.xml中指定名称。这可以在2-3种方法的情况下使用,但随着测试次数的增加,它会越来越难。

6 个答案:

答案 0 :(得分:21)

您可以使用exclude而不是include。这正是你想要的。只会执行此测试。

  <classes>
    <class name="test.IndividualMethodsTest">
      <methods>
        <include name="testMethod" />
      </methods>
    </class>
  </classes>

答案 1 :(得分:7)

试试这个:

  <classes>
    <class name="test.IndividualMethodsTest">
      <methods>
        <exclude name="testMethod" />
      </methods>
    </class>
  </classes>

答案 2 :(得分:5)

每次运行后,TestNG会创建一个名为testng-failed.xml的字段,该字段仅包含失败的测试。只需在该文件上再次调用TestNG:

java org.testng.TestNG testng.xml java org.testng.TestNG testng-failed.xml

(将org.testng.TestNG替换为您自己的跑步者,因为您似乎使用了自定义的跑步者。)

答案 3 :(得分:1)

有几种方法可以做到这一点。

您是否正在使用Eclipse进行开发? TestNG有一个Eclipse插件,我认为这是迄今为止运行特定测试的最简单方法。该插件允许您运行可用测试的套件,组,类或方法。

如果没有,我相信你可以设置一个ant任务来启动测试(http://testng.org/doc/ant.html)并使用像“classfilesetref”这样的属性来提供要运行的测试列表。您可以在单独的文件中指定测试,这样您就不必在每次运行测试时都更新build.xml。

用于安装testng Plugin.Just按照以下步骤操作: 1 - 转到Eclipse中的“帮助”菜单。 2 - 选择“安装新软件”“。 3-ADD “http://beust.com/eclipse”。

如果您指定了错误,我认为您没有在Eclippse IDE中安装插件

答案 4 :(得分:1)

你也可以创建自己的ITestListener(因为你有自己的包装器)来跟踪失败,然后从中生成你自己的失败套件文件,其中只包含失败的测试。 TestNG的监听器/拦截器挂钩非常好。在工作中,我们使用它们以多种方式扩展了TestNG:

  • 捕获/回放生成的数据集
  • 结果记录到数据库
  • 自定义测试输出(日志)
  • 元数据,例如ID,描述,@ dataProvider提供的数据集
  • 运行时检查环境依赖的测试用例限制

答案 5 :(得分:0)

在程序中选择测试方法,然后转到顶部菜单&#34;运行&#34; - &GT; &#34;运行&#34;或者执行CTRL + F11,这将独立于XML测试套件开始测试。