单元测试框架系列教程7-属性dependsOnMethods介绍1

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 测试相关
  • 时间:2017-11-03 22:39
  • 4837人已阅读
简介 这篇来介绍@Test下的属性dependsOnMethods,看字面意思可以知道。如果要运行当前的测试用例,需要先运行指定的依赖方法后,再运行当前用例。直接来看看例子。package com.java.learn;import org.testng.annotations.Test;/** *createbyAnthonyon2017/11/02 */pub

🔔🔔好消息!好消息!🔔🔔

 如果您需要注册ChatGPT,想要升级ChatGPT4。凯哥可以代注册ChatGPT账号代升级ChatGPT4

有需要的朋友👉:微信号 kaigejava2022

这篇来介绍@Test下的属性dependsOnMethods,看字面意思可以知道。如果要运行当前的测试用例,需要先运行指定的依赖方法后,再运行当前用例。

直接来看看例子。

package com.java.learn;

import org.testng.annotations.Test;

/**
 * create by Anthony on 2017/11/02
 */
public class TestNG_Demo2 {

    @Test
    public void test1(){
        System.out.println("test1");
    }

    @Test
    public void test2(){
        System.out.println("test2");
    }

    @Test
    public void test3(){
        System.out.println("test3");
    }

    @Test
    public void test4(){
        System.out.println("test4");
    }

    @Test
    public void test5(){
        System.out.println("test5");
    }
}

 

上面运行结果,默认是按照函数方法名的排序来的,所以执行顺序是这样的。

Test1->test2->test3->test4->test5

 

场景1:在运行test1之前,设置依赖方法是test5.

 

 

package com.java.learn;

import org.testng.annotations.Test;

/**
 * create by Anthony on 2017/11/02
 */
public class TestNG_Demo2 {

    @Test(dependsOnMethods={"test5"})
    public void test1(){
        System.out.println("test1");
    }

    @Test
    public void test2(){
        System.out.println("test2");
    }

    @Test
    public void test3(){
        System.out.println("test3");
    }

    @Test
    public void test4(){
        System.out.println("test4");
    }

    @Test
    public void test5(){
        System.out.println("test5");
    }
}

注意上面的依赖方法名称是花括号,容易不小心写成小括号。测试运行一下。 

确实发现了先执行test5,test1在test5后面执行。但是这里,为什么把test1放到最后执行了,暂时不清楚。

 

场景2:一个用例,依赖多个其他方法

package com.java.learn;

import org.testng.annotations.Test;

/**
 * create by Anthony on 2017/11/02
 */
public class TestNG_Demo2 {

    @Test(dependsOnMethods={"test3","test4"})
    public void test1(){
        System.out.println("test1");
    }

    @Test
    public void test2(){
        System.out.println("test2");
    }

    @Test
    public void test3(){
        System.out.println("test3");
    }

    @Test
    public void test4(){
        System.out.println("test4");
    }

    @Test
    public void test5(){
        System.out.println("test5");
    }
}

运行效果:


场景3:依赖方法的异常表现

@Test(dependsOnMethods={"test6"})

 

例如我在test1前面加上依赖方法是test6,但是在当前包和类文件没有这个test6的方法,运行就会报异常。



TopTop