1

我在一个类中几乎没有测试依赖于另一个包中的设置组。我的 TestNG.xml 看起来像这样:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="mysuite" verbose="1">
<test name="mytest">
    <classes>
    <class name="path.to.setup.class"/>
    <class name="path.to.test.class"/>
</classes>
</test>
</suite>

在 eclipse 中运行所有测试时,这工作正常。

问题是当我尝试从 testClass 执行单个测试时,这取决于设置组。我收到以下错误:DependencyMap::Method "myMethod" 依赖于不存在的组 "setup"。是否有任何简单的方法来执行单个测试而无需为每个测试创建单独的 xml?

4

1 回答 1

0

在我看来,最好的方法是拥有一个测试类的抽象超类,它可以完成所有设置工作。这可以在超类的标准构造函数中实现,或者(更好的 imo)通过添加 @Before* 注释方法来实现。使用 @Before* 和 @After* 方法,您可以自由选择应该运行与 testng 组相关的方法,具体取决于其他方法、错误/异常处理或拆除。如果您有特定于类的设置内容,则可以在类本身的 @Before* 方法中执行此操作,这依赖于高级设置的执行。

于 2013-04-10T09:36:38.033 回答