TestNG 6.8.8
我有以下界面:
public interface Act1{
/**
* Some contract
*/
public String doAct(String input);
}以及它的几个实现
public class Act1Impl1 implements Act1{
//...
}
public class Act1Impl2 implements Act1{
//...
}问题是有一些实现必须遵循的通用契约,我想在一个单独的测试类中为这个公共功能编写一个测试,如下所示:
public class CommonAct1Test{
@Test
public void test_Case1(){
Act1 act1;
//test act1 case 1
}
@Test
public void test_Case2(){
Act1 act1;
//test act1 case 2
}
}这里的问题是,将来可以添加Act1的其他实现。因此,我需要一种方法来轻松地将这些实现添加到测试中。
为什么我认为@DataProvider 不适合?因为(据我所知)它的主要目的是支持滴滴涕,因此为测试一个单元提供了不同的数据集。但在我的例子中,我在相同的数据集中测试不同的单元。
我如何才能用TestNG正确地做到这一点。在JUnit中,我们有@RunWith和参数化测试,如https://stackoverflow.com/a/6724555/3663882所示
发布于 2016-07-20 09:28:50
您可以通过这样的数据提供者来实现这一点,因为您的数据是接口的不同实现。与实际数据不同,代码就是您的数据:)。
您可以查看testng 工厂 --实现了相同的功能,但是您可能会有这样的感觉--“在相同的数据集上测试不同的单元”。
https://stackoverflow.com/questions/38476308
复制相似问题