0


关于简单循环覆盖法(例题:蓝桥杯单元测试专项练习Java版)

题目3链接:单元测试专项练习(Java+Python)_蓝桥杯 - 蓝桥云课

题目:

package cn.lanqiao;

/**
 * 本类为工具类,主要功能描述:
 * 1、字符串不能为 null,否则无法进行处理,因此当为 null 时,返回 “字符串不能为空”。
 * 2、字符串要求的长度是参数提供的最小长度  ~ 最大长度位,会对获取的字符串进行去除前后空格的处理,当去除空格后长度依然不满足要求时,会返回 “字符串长度必须在最小长度 ~ 最大长度位”。
 * 3、对于长度小于最大长度位的字符串,会在字符串后面添加空格补全,直到长度为最大长度位后处理结束,并返回处理后的字符串。
 */
public class Utils {
    /**
     * 对字符串长度进行处理,为达到最大长度时,用空格补全
     * @param message 字符串
     * @param min 最小长度
     * @param max 最大长度
     * @return 处理后的信息
     */
    public static String stringStyle(String message, int min, int max){
        String result = null;
        // 字符串不能为空
        if(message != null){
            // 去除字符串前后空格
            message = message.trim();
            // 获取字符串长度
            int length = message.length();
            if(length >=min && length <= max){
                result = message;
                // 当长度为达到最大长度时,用空格补全
                for (int i = 0; i < max-length; i++) {
                    result += " ";
                }
            }else{
                result = "字符串长度必须在"+min+"~"+max+"位";
            }  
        }else{
            result = "字符串不能为空";
        }
        return result;
    }
}

测试代码:

package cn.lanqiao;
 
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
 
/**
 * 1. 请使用简单循环覆盖法对被测源代码 Utils 类中的 stringStyle 方法设计 6 条单元测试用例。
 * 2. 请在下方 UtilsTest 类中填写单元测试代码内容。
 * 3. 在测试中用到的断言 Assert 类务必使用 org.junit 包中的 Assert 。
 */
public class UtilsTest {
    
    private   Utils utils;
    @Before
        public void setUp(){
              utils = new Utils();
            
        }
 
        @After
        public void tearDown(){
            // 释放被测类实例
            utils = null;
        }
 
        @Test
        public void testStringStyle00(){
            // TODO 请填写单元测试代码0
          Assert.assertEquals("123456789", utils.stringStyle("123456789", 3, 9));
        }
        @Test
        public void testStringStyle01(){
            // TODO 请填写单元测试代码1
          Assert.assertEquals("12345678 ", utils.stringStyle("12345678", 3, 9));
        }
        @Test
        public void testStringStyle02(){
            // TODO 请填写单元测试代码2
          Assert.assertEquals("1234567  ", utils.stringStyle("1234567", 3, 9));
        }
        @Test
        public void testStringStyle03(){
            // TODO 请填写单元测试代码3
          Assert.assertEquals("123456   ", utils.stringStyle("123456", 3, 9));
        }
        @Test
        public void testStringStyle05(){
            // TODO 请填写单元测试代码5
          Assert.assertEquals("1234     ", utils.stringStyle("1234", 3, 9));
        }
        @Test
        public void testStringStyle06(){
            // TODO 请填写单元测试代码6
          Assert.assertEquals("123      ", utils.stringStyle("123", 3, 9));
        }
 
}

简单循环测试

  1. 零次循环:从循环入口到出口
  2. 一次循环:检查循环初始值
  3. 二次循环:检查循环2次
  4. m次循环:检查循环m次(可以理解为除 "0,1,2,n-1,n" 次之外的任意一次循环)
  5. n-1次循环: 在n次循环的基础上减一次
  6. n次循环: (简单理解:就是循环的最后一次终止条件) , (官方一点:最大次数循环n、比最大次数多一次n+1、少一次的循环n-1。)

一共需要满足以上6个条件即可完成简单循环测试

解析:

题目重点代码

测试重点 要有这6个部分的代码(0次,1次,2次,m次,n-1次,n次)

注意这里数字是空格数量 :

如有不对还请指正


本文转载自: https://blog.csdn.net/weixin_74758226/article/details/136411853
版权归原作者 萝卜617 所有, 如有侵权,请联系我们删除。

“关于简单循环覆盖法(例题:蓝桥杯单元测试专项练习Java版)”的评论:

还没有评论