zoukankan      html  css  js  c++  java
  • JAVA利用enum结合testng做数据驱动示例

    数据驱动是做自动化测试中很重要的一部分,数据源的方案也是百花八门了,比如利用外部文件,直接在@DataProvider中写死等等,我们今天介绍一下利用enum来做数据源,先来看一下enum的写法:

    public enum EnumData {
    
        PAY_RESERVE(1, "支付预约"),
        DIRECT_RESERVE(2, "直接预约"),
        BILL(3, "开单");
    
        EnumData(int resultCode, String resultMsg) {
            this.resultCode = resultCode;
            this.resultMsg = resultMsg;
        }
    
        private int resultCode;
        private String resultMsg;
    
        public int getResultCode() {
            return resultCode;
        }
    
        public String getResultMsg() {
            return resultMsg;
        }
    
    
    }

    上述代码可理解为有两组数据,每一组里面有两个数据,一个是retCode,一个是msg。现在把enum给加载到@DataProvider中去:

    import org.testng.annotations.DataProvider;
    import org.testng.annotations.Test;
    
    public class TestEnumData {
    
    
        @DataProvider
        public Object[][] enumDataMethod() {
            EnumData[] vs = EnumData.values();
            Object[][] obj = new Object[vs.length][];
            for (int i = 0; i < vs.length; i++) {
                obj[i] = new Object[]{vs[i]};
            }
            return obj;
        }
    
        @Test(dataProvider = "enumDataMethod")
        public void test(EnumData en) {
            System.out.println(en.getResultCode() + "	" + en.getResultMsg());
        }
    
    }

    利用上述方式最大的好处是把数据本身与持久化的对象放在一个地方了,且调用时,也很方便。

    其实,利用外部文件的话,也可以数据对象持久化,只是原来的示例中我放在了一个Map中,同样可以把Map改为一个pojo对象,调用时也会很方便。

    至于哪种方式好,大家自行的去体验,自行的去实现吧!

  • 相关阅读:
    实现镜面模糊效果
    在网页中单行以及多行内容超出之后隐藏
    利用xhsell登录到远程腾讯云服务器
    highcharts饼状图使用案例
    在利用xampp开发时候为apache设置多个项目目录
    Linux查找命令
    数字签名与数字证书
    数据库之闭包,范式
    利用PHP绘图函数实现简单验证码功能
    IC基础(二):设计中常见的时序问题
  • 原文地址:https://www.cnblogs.com/longronglang/p/9992304.html
Copyright © 2011-2022 走看看