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失败,因为数据错误

  • 相关阅读:
    C#-创建自定义双击事件
    C#-设置button颜色
    C#-动态生成40个按钮,大小(20,20),要求每行6个放置
    推荐系统相关算法(1):SVD
    SVD在推荐系统中的应用
    个性化推荐研究(四)之如何利用用户行为数据
    推荐系统开源软件列表
    推荐系统中所使用的混合技术介绍
    协同过滤算法
    转:[大数据竞赛]算法讨论
  • 原文地址:https://www.cnblogs.com/wangzhaojun1670/p/14929915.html
Copyright © 2011-2022 走看看