从testng.xml运行测试时出现错误“取决于不存在的组”

问题描述

下面是我的项目的结构:

Public class first{
    @BeforeSuite(groups="A")
    }

Public class second{
    @Test(groups="B",dependOnGroups="A")
    }

testng.xml:

<!DOCTYPE suite SYstem "http://testng.org/testng-1.0.dtd" >

<suite name="testSuite" >
 <groups>  
      <run> 
         <include name="A"/> 
         <include name="B"/> 
      </run>  
 </groups>

 <test name="test1" allow-return-values="true">
        <classes>
            <class name="test.first" />
        </classes>
 </test>
 <test name="test2" allow-return-values="true">
        <classes>
            <class name="test.second" />
        </classes>
 </test>
</suite>  

当我以run testng.xml的身份运行时,收到错误消息:

取决于不存在的组A 在org.testng.DependencyMap.getmethodsThatBelongTo(DependencyMap.java:41) 在org.testng.internal.DynamicGraphHelper.createDynamicGraph(DynamicGraphHelper.java:76) 在org.testng.TestRunner.privateRun(TestRunner.java:618) 在org.testng.TestRunner.run(TestRunner.java:505) 在org.testng.SuiteRunner.runTest(SuiteRunner.java:455) 在org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450) 在org.testng.SuiteRunner.privateRun(SuiteRunner.java:415) 在org.testng.SuiteRunner.run(SuiteRunner.java:364) 在org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)

解决方法

对于testng文件,您需要添加组和类的软件包名称,以下是组的示例。

 <suite name="testSuite" >
         <groups>
            <run>
                <include name="packagename.first"/>
                <include name="packagename.second"/>
            </run>
        </groups>
  </suite>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...