通过testng.xml运行单个依赖类

时间:2018-01-09 17:30:13

标签: testng dependency-management

我有一个非常具体的要求:

我需要通过不重复/重写<中的依赖类来运行测试。课程>在testing.xml中

我已经广泛研究过我的问题,只有当我找不到解决方案时,我才会写这个问题。我希望我已经提供了帮助我找到解决方案所需的所有信息。

此处添加了示例项目:https://github.com/jigyasa-at-git/testngDependencyManagement/tree/master/dependencyManagement

设定:

  • 我正在使用TestNG(6.13.1)。
  • 我在套房里有很多课程。
  • 每个类包含1个方法(这是项目需要设置的方式)
  • 某些类依赖于其他类(意思是,类中的方法依赖于另一个类中的方法,而我使用的是“dependsOnGroups”注释)。
  • 我正在使用testing.xml来运行我的测试。我正在定义类中的依赖项。
  • 这是示例项目中的依赖项结构:
    • ClassTwo中的方法取决于ClassOne中的方法。
    • ClassThree中的方法取决于ClassTwo中的方法
    • ClassFour中的方法取决于ClassThree中的方法

原始Testing.xml:(这就是我想要的工作)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Test Dependencies">
    <test name="Test 1">
        <classes>
            <class name="ClassOne" />
            <class name="ClassTwo" />
        </classes>
    </test>
    <test name="Test 2">
        <classes>
            <class name="ClassThree" />
        </classes>
    </test>
    <test name="Test 3">
        <classes>
            <class name="ClassFour" />
        </classes>
    </test>
</suite>

问题: 运行上面的testing.xml时出现以下错误:

org.testng.TestNGException: DependencyMap :: Method“ClassThree.classThree_Test1()[pri:0,instance:ClassThree @ 475530b9]”取决于不存在的组“classTwo”

另一方面,如果testing.xml像这样更新,它就可以工作:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Test Dependencies">
    <test name="Test 1">
        <classes>
            <class name="ClassOne" />
            <class name="ClassTwo" />
        </classes>
    </test>
    <test name="Test 2">
        <classes>
            <class name="ClassOne" />
            <class name="ClassTwo" />
            <class name="ClassThree" />
        </classes>
    </test>
    <test name="Test 3">
        <classes>
            <class name="ClassOne" />
            <class name="ClassTwo" />
            <class name="ClassThree" />
            <class name="ClassFour" />
        </classes>
    </test>
</suite>

测试运行良好,但后来我遇到了另一个问题......那些类(ClassOne,ClassTwo和ClassThree)运行多次,因为它们在所有3&lt;测试&gt;

我已经google(包括这个网站)这个问题很多,但我找不到任何解决方案。非常感谢任何帮助。我被困住了。我需要一种方法来解决依赖关系,而不需要让类多次运行或者必须手动将它们添加到&lt;课程&gt;

0 个答案:

没有答案
相关问题