2013-04-02 53 views
1

我有一些测试依赖于来自另一个包的安装组。 我的testng.xml看起来是这样的:在eclipse中依赖运行单个TestNG测试

<!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?

+0

那么你可以在同一个班级中的第二个“设置”组中进行测试,你可以随时复制并粘贴,然后将其删除。 –

+0

显然这会起作用,但它使得测试调试有点麻烦。 – Dooomer

+0

另一个机会是,创建一个AbstractTest类,其中包含所有“设置”方法,并将其与您的测试类进行子类化。我就是做这个的。 btw-安装事宜你可以使用@ Before *注解。 –

回答

0

在我看来,最好的方法是拥有一个抽象超类的测试类,它可以完成所有的设置工作。这可以通过在超类的标准构造函数或者(更好的imo)中通过添加@ Before *注解方法来实现。使用@ Before *和@ After *方法,您可以自由选择哪种方法应该与testng组相关,这取决于其他方法,错误/异常处理或拆卸。 如果你有类的具体设置的东西,你可以在类之前的@ Before *方法中依靠上级设置的执行。

+0

我稍后再添加一些样本 –

相关问题