我有一个包含大量方法的testng套件。我使用构建在testngrunner之上的 Package 器来执行这个套件。套件中的所有测试都失败,只有一个例外。我应该在testng.xml中编写什么来执行一个失败的测试?
显而易见的解决方案是为所有方法分配唯一的组名,然后在testng.xml中指定名称。在2-3种方法的情况下,这是可行的,但随着测试数量的增加,它变得越来越困难。
我有一个包含大量方法的testng套件。我使用构建在testngrunner之上的 Package 器来执行这个套件。套件中的所有测试都失败,只有一个例外。我应该在testng.xml中编写什么来执行一个失败的测试?
显而易见的解决方案是为所有方法分配唯一的组名,然后在testng.xml中指定名称。在2-3种方法的情况下,这是可行的,但随着测试数量的增加,它变得越来越困难。
6条答案
按热度按时间lymgl2op1#
在程序中选择测试方法并进入顶部菜单“run”->“run”,或者按ctrl+f11,这将独立于xml测试套件启动测试。
jecbmhm32#
有几种方法可以做到这一点。
您使用eclipse进行开发吗?testng有一个eclipse插件,我认为这是目前为止运行特定测试最简单的方法。该插件允许您运行可用测试的套件、组、类或方法。
如果没有,我相信您可以设置一个ant任务来启动测试(http://testng.org/doc/ant.html)并使用“classfilesetref”等属性提供要运行的测试的列表。您可以在单独的文件中指定测试,这样就不必每次运行测试时都更新build.xml。
安装testng plugin.只需遵循以下步骤:1-进入eclipse中的“帮助”菜单。2-选择“安装新软件”。3-添加“http://beust.com/eclipse."
它在您指定的错误的情况下工作,我认为您没有在EclipseIDE中安装插件
siotufzp3#
每次运行之后,testng都会创建一个名为testng-failed.xml的文件,其中只包含失败的测试。只需在该文件上再次调用testng:
java org.testng.testng testng.xml java org.testng.testng testng-failed.xml
(将org.testng.testng替换为您自己的runner,因为您似乎使用定制的runner)。
nhjlsmyf4#
而不是
exclude
,您可以使用include
. 这正是你想要的。只执行此测试。aamkag615#
试试这个:
x6492ojm6#
您还可以创建自己的itestlistener(因为您已经有了自己的 Package 器)来跟踪失败,然后从中生成自己的失败套件文件,其中只包含失败的测试。testng的侦听器/拦截器挂钩相当不错。在工作中,我们通过以下几种方式扩展了testng:
捕获/回放生成的数据集
结果记录到数据库
自定义测试输出(日志)
由@dataprovider提供的数据集的元数据,如id、描述
测试用例的环境相关限制的运行时检查