TestNG条件配置方法
我想知道是否有一种拥有不同配置方法的方法(比如在类级别,@Before/AfterClass)可以让用户选择在testcase中使用哪个配置方法。 例如:TestNG条件配置方法,testng,Testng,我想知道是否有一种拥有不同配置方法的方法(比如在类级别,@Before/AfterClass)可以让用户选择在testcase中使用哪个配置方法。 例如: @BeforeClass public void configuration1 () { // Do your configuration1 } @BeforeClass public void configuration2 () { // Do your configuration2 } 我希望能够选择使用哪种配置方法。当然
@BeforeClass
public void configuration1 () {
// Do your configuration1
}
@BeforeClass
public void configuration2 () {
// Do your configuration2
}
我希望能够选择使用哪种配置方法。当然,这可以通过配置方法内部的条件来实现,但我想知道是否可以避免运行不包含特定运行中所需配置的方法
提前谢谢 TestNG提供了自定义默认功能的功能。对于您的需求,需要实施。我不认为命令行参数可以传递给testngxml,但请试试运气。在下面的代码中,“配置”被假定为来自testng xml的参数
示例代码(未测试)
如果决定从java类调用此侦听器,则可以读取cmd行args并将其传递给CustomListener。只是想一想。根据您的测试设置,您可以只使用组:
public class Test {
@BeforeClass(groups = {"A"})
public void configuration1() {...}
@BeforeClass(groups = {"B"})
public void configuration2() {...}
@Test(groups = {"A", "B"})
public void testFoo() {...}
@Test(groups = {"A"})
public void testFoo() {...}
}
或者您可能会考虑参数化测试/使用数据提供程序。运行特定配置的标准是什么?例如,我可以使用两个不同的JVM参数值运行测试:-Dconfiguration=config1或-Dconfiguration=config2。第一个应该使用第一个配置方法运行我的测试,第二个应该使用第二个配置方法运行我的测试。查看上面的听众链接了解详细信息。看起来不错,我会试试的!谢谢这个测试的问题是,同一个测试用例可以有不同的配置方法,我需要能够选择在执行它时使用哪个配置。我不想有组硬编码,并改变他们每次我需要运行它。。。
public class Test {
@BeforeClass(groups = {"A"})
public void configuration1() {...}
@BeforeClass(groups = {"B"})
public void configuration2() {...}
@Test(groups = {"A", "B"})
public void testFoo() {...}
@Test(groups = {"A"})
public void testFoo() {...}
}