zoukankan      html  css  js  c++  java
  • Junit单元测试参数自动化

    一、测试要求

      测试要使用传参的方式进行自动测试,不能一遍遍手动输入参数。

    二、实现步骤

    1.创建资源文件夹

    项目名右键>>new>>other>>Sourece folder

    输入资源文件夹的名字,然后点击finish

    2.创建单元测试

    在要测试的java文件右键>>new>>Junit test case

    这里我测试的是service.impl文件

     点击finish即可

    3.代码

    被测试文件中有好多方法,因为每个方法传递的参数不同,所以为每个方法都建立一个测试,现给出登录方法及其测试

    service.impl

    public User login(String username, String password) {
            User user = new User();
            user = dao.findUserByUsernameAndPassword(username, password);
            if(user!=null)
                return user;
            
            return null;
        }
    View Code

    这个方法中有两个参数 username,password,将这两个参数作为测试类的私有属性

    DemoServiceImplTest.java

    package com.zzh.service.impl;
    
    
    
    import java.util.Arrays;
    import java.util.List;
    
    import org.junit.Assert;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.junit.runners.Parameterized;
    import org.junit.runners.Parameterized.Parameters;
    
    
    @RunWith(Parameterized.class)
    public class DemoServiceImplTest {
        private String username;
        private String password;
        /* 构造函数需要的参数会自动从参数列表中依次取出 */
        public DemoServiceImplTest(String username,String password) {
            this.username=username;
            this.password=password;
        }
    
        @Parameters(name = "{index}: parm({0},{1})")
         public static List<Object[]> data() {
         /*这里有三个测试用例,每个测试用例两个参数,每次系统会自动调用测试用例,循环三次用以初始化构造函数*/         
                return Arrays.asList(new Object[][] { {"qqq","123123"}, {"user","123"},{"admin","admin"}});
            }    
        @Test
        public void test() {
            DemoServiceImpl demo=new DemoServiceImpl();
            Assert.assertNotNull(demo.login(username,password));;
            
        }
    
    }
    View Code

    4.运行结果

    测试0和2成功,因为数据库中数据正确,测试1失败,因为数据错误

  • 相关阅读:
    [POI2011]Lightning Conductor
    [NOI2009]诗人小G

    公告&留言板
    联合省选 2020 题解
    年末时的一些思维碎屑
    RE:ゼロから始める AFO 生活
    退役前的做题记录6.0
    2019年湖南省大学生计算机程序设计竞赛 (HNCPC2019) 简要题解
    300iq Contest 1 简要题解
  • 原文地址:https://www.cnblogs.com/wangzhaojun1670/p/14929915.html
Copyright © 2011-2022 走看看