0


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

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

题目:

  1. package cn.lanqiao;
  2. /**
  3. * 本类为工具类,主要功能描述:
  4. * 1、字符串不能为 null,否则无法进行处理,因此当为 null 时,返回 “字符串不能为空”。
  5. * 2、字符串要求的长度是参数提供的最小长度 ~ 最大长度位,会对获取的字符串进行去除前后空格的处理,当去除空格后长度依然不满足要求时,会返回 “字符串长度必须在最小长度 ~ 最大长度位”。
  6. * 3、对于长度小于最大长度位的字符串,会在字符串后面添加空格补全,直到长度为最大长度位后处理结束,并返回处理后的字符串。
  7. */
  8. public class Utils {
  9. /**
  10. * 对字符串长度进行处理,为达到最大长度时,用空格补全
  11. * @param message 字符串
  12. * @param min 最小长度
  13. * @param max 最大长度
  14. * @return 处理后的信息
  15. */
  16. public static String stringStyle(String message, int min, int max){
  17. String result = null;
  18. // 字符串不能为空
  19. if(message != null){
  20. // 去除字符串前后空格
  21. message = message.trim();
  22. // 获取字符串长度
  23. int length = message.length();
  24. if(length >=min && length <= max){
  25. result = message;
  26. // 当长度为达到最大长度时,用空格补全
  27. for (int i = 0; i < max-length; i++) {
  28. result += " ";
  29. }
  30. }else{
  31. result = "字符串长度必须在"+min+"~"+max+"位";
  32. }
  33. }else{
  34. result = "字符串不能为空";
  35. }
  36. return result;
  37. }
  38. }

测试代码:

  1. package cn.lanqiao;
  2. import org.junit.After;
  3. import org.junit.Assert;
  4. import org.junit.Before;
  5. import org.junit.Test;
  6. /**
  7. * 1. 请使用简单循环覆盖法对被测源代码 Utils 类中的 stringStyle 方法设计 6 条单元测试用例。
  8. * 2. 请在下方 UtilsTest 类中填写单元测试代码内容。
  9. * 3. 在测试中用到的断言 Assert 类务必使用 org.junit 包中的 Assert 。
  10. */
  11. public class UtilsTest {
  12. private Utils utils;
  13. @Before
  14. public void setUp(){
  15. utils = new Utils();
  16. }
  17. @After
  18. public void tearDown(){
  19. // 释放被测类实例
  20. utils = null;
  21. }
  22. @Test
  23. public void testStringStyle00(){
  24. // TODO 请填写单元测试代码0
  25. Assert.assertEquals("123456789", utils.stringStyle("123456789", 3, 9));
  26. }
  27. @Test
  28. public void testStringStyle01(){
  29. // TODO 请填写单元测试代码1
  30. Assert.assertEquals("12345678 ", utils.stringStyle("12345678", 3, 9));
  31. }
  32. @Test
  33. public void testStringStyle02(){
  34. // TODO 请填写单元测试代码2
  35. Assert.assertEquals("1234567 ", utils.stringStyle("1234567", 3, 9));
  36. }
  37. @Test
  38. public void testStringStyle03(){
  39. // TODO 请填写单元测试代码3
  40. Assert.assertEquals("123456 ", utils.stringStyle("123456", 3, 9));
  41. }
  42. @Test
  43. public void testStringStyle05(){
  44. // TODO 请填写单元测试代码5
  45. Assert.assertEquals("1234 ", utils.stringStyle("1234", 3, 9));
  46. }
  47. @Test
  48. public void testStringStyle06(){
  49. // TODO 请填写单元测试代码6
  50. Assert.assertEquals("123 ", utils.stringStyle("123", 3, 9));
  51. }
  52. }

简单循环测试

  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版)”的评论:

还没有评论