Testng继承处理

发表于:2018-9-04 11:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:夜近之时    来源:博客园

  在testng进行测试的时候,往往会用到流程测试,在测试流程的时候,会有一些重复的操作可以多个类共用相同的方法,即放在父类中。
  1.Before
  Before包含@BeforeClass、@BeforeMethod、@BeforeGroups、@BeforeSuite。
  在子类中可以调用到父类的@Before方法,包含上面的所有的Before。下面代码示例:
  TestngTestng.java
  package com.yesterday.time.testng;
  import org.apache.log4j.Logger;
  import org.testng.annotations.BeforeClass;
  import org.testng.annotations.DataProvider;
  public class TestngTestng {
  Logger logger = Logger.getLogger(TestngTestng.class);
  @BeforeClass
  public void testbefore(){
  logger.debug("testbfore");
  }
  }
  TestngTestng1.java
  package com.yesterday.time.testng;
  import org.testng.annotations.Test;
  public class TestngTestng1 extends TestngTestng{
  @Test
  public void testb(){
  logger.debug("TestngTestng1.testb");
  }
  }
  结果为:
  [DEBUG] 2016-12-27 13:29:33,718 method:com.yesterday.time.testng.TestngTestng.testbefore(TestngTestng.java:14)testbfore
  [DEBUG] 2016-12-27 13:29:33,738 method:com.yesterday.time.testng.TestngTestng1.testb(TestngTestng1.java:10)TestngTestng1.testb
  2.DataProvider 此方法也可以写在父类中,常用于对同一个对象做流程操作。
请  package com.yesterday.time.testng;
  import org.apache.log4j.Logger;
  import org.testng.annotations.DataProvider;
  public class TestngTestng {
  Logger logger = Logger.getLogger(TestngTestng.class);
  @DataProvider(name =  "test1")
  public Object[][] test1(){
  logger.debug("TestngTestng.test1");
  return new Object[][]{{5}};
  }
  @DataProvider(name = "testA")
  public Object[][] testA(){
  logger.debug("TestngTestng.testA");
  return new Object[][]{{10}};
  }
  }
  package com.yesterday.time.testng;
  import org.testng.annotations.Test;
  public class TestngTestng1 extends TestngTestng{
  @Test(dataProvider = "test1")
  public void test(int id){
  logger.debug("TestngTestng1.test");
  System.out.println("sfsd");
  if(id>5)
  {
  System.out.println("GGGGGGGG");
  }else{
  System.out.println("aaaaaaa");
  }
  }
  @Test(dataProvider = "test1")
  public void test2(int id){
  logger.debug("TestngTestng1.test2");
  System.out.println("sfsd");
  if(id>5)
  {
  System.out.println("GGGGGGGG");
  }else{
  System.out.println("aaaaaaa");
  }
  }
  @Test(dataProvider = "testA")
  public void test1(int id){
  logger.debug("TestngTestng1.test1");
  System.out.println("sfsd");
  if(id>5)
  {
  System.out.println("GGGGGGGG");
  }else{
  System.out.println("aaaaaaa");
  }
  }
  }


   上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号