zoukankan      html  css  js  c++  java
  • 十一、TestNG依赖测试

    测试的时候有可能要用到其他测试结果(是否成功)来执行这个测试。

    就需要用到测试和测试之间传递参数;TestNG叫做 依赖测试。

    TestNG依赖测试特点:

    1-testNg允许指定依赖关系,如果依赖关系失败了,则跳过后面的所有方法.

    2-如果使用依赖测试则会在执行该方法时先执行依赖的方法,后执行本方法。

    在@Test注释中使用属性dependsOnMethods;

    或者在@Test注释中使用属性dependsOnGroups。

    dependsOnMethods

    //如果第一方法执行失败了,第二个就不再执行

    package com.lc.testngYiLai;
    
    import org.testng.annotations.Test;
    
    public class TestNG16 {
      
    
        @Test
        public void test_method() {
            System.out.println("TestNG16测试类的test_method方法;第一个测试方法");
            throw new RuntimeException();
        }
        
        @Test(dependsOnMethods = {"test_method"})
        public void test_method1() {
            System.out.println("TestNG16测试类的test_method1方法;第二个测试方法");
        }
    }

     

    一个方法依赖等多个方法

    package com.lc.testngYiLai;
    
    import org.testng.annotations.Test;
    
    public class TestNG16 {
      
    
        @Test
        public void test_method1() {
            System.out.println("TestNG16测试类的test_method1方法;第一个测试方法");
            //throw new RuntimeException();
        }
        
        @Test
        public void test_method2() {
            System.out.println("TestNG16测试类的test_method2方法;第二个测试方法");
        }
        
        @Test(dependsOnMethods = {"test_method1","test_method2"})
        public void test_method3() {
            System.out.println("TestNG16测试类的test_method3方法;第三个测试方法");
        }
    }


    dependsOnGroups 

    package com.lc.testngYiLai;
    
    import org.testng.annotations.Test;
    
    
    public class TestNG17 {
     
    
        @Test(groups  = "group01")
        public void deployServer1() {
            System.out.println("TestNG17类的deployServer1方法");
            //int a = 1 / 0 ;
        }
        @Test(groups = "group01")
        public void deployServer2() {
            System.out.println("TestNG17类的deployServer2方法");
        }
        
        
        
        @Test(dependsOnGroups   = "group01")
        public void deployServer3() {
            System.out.println("TestNG17类的deployServer3方法");
        }
    }

    依赖多个组

    package com.lc.testngYiLai;
    
    import org.testng.annotations.Test;
    
    
    public class TestNG17 {
     
    
        @Test(groups  = "group01")
        public void deployServer1() {
            System.out.println("TestNG17类的deployServer1方法");
            //int a = 1 / 0 ;
        }
        @Test(groups = "group01")
        public void deployServer2() {
            System.out.println("TestNG17类的deployServer2方法");
        }
        
        
        @Test(groups = "group02")
        public void deployServer3() {
            System.out.println("TestNG17类的deployServer3方法");
        }
        
        
        
        @Test(dependsOnGroups   = {"group01","group02"})
        public void deployServer4() {
            System.out.println("TestNG17类的deployServer4方法");
        }
    }

     如果被依赖的组出错,不会执行依赖的方法,但会执行被依赖组的所有方法

    package com.lc.testngYiLai;
    
    import org.testng.annotations.Test;
    
    
    public class TestNG17 {
     
    
        @Test(groups  = "group01")
        public void deployServer1() {
            System.out.println("TestNG17类的deployServer1方法");
            int a = 1 / 0 ;//这个地方抛出错误
        }
        @Test(groups = "group01")
        public void deployServer2() {
            System.out.println("TestNG17类的deployServer2方法");
        }
        
        
        @Test(groups = "group02")
        public void deployServer3() {
            System.out.println("TestNG17类的deployServer3方法");
        }
        
        
        
        @Test(dependsOnGroups   = {"group01","group02"})
        public void deployServer4() {
            System.out.println("TestNG17类的deployServer4方法");
        }
    }

  • 相关阅读:
    ZooKeeper的工作原理
    redis 数据类型详解 以及 redis适用场景场合
    nginx负载均衡原理
    Java中缓存的介绍
    Java中接口的作用
    json与xml的区别
    最经典40个多线程问题总结
    Java线程 : 线程同步与锁
    dbcp与c3p0的区别
    Linux常见命令
  • 原文地址:https://www.cnblogs.com/fanfancs/p/14165826.html
Copyright © 2011-2022 走看看