题目描述
请使用简单循环覆盖法的标准要求,对被测源代码 Utils 类中的 stringStyle 方法进行设计单元测试用例。并在 UtilsTest 类中完成单元测试代码。
源代码功能
界面获取用户名信息,要求字符串长度必须在 3 ~ 12 位之间,为了显示样式的美观性,根据获取的字符串,以及限定的最小长度(3)和最大长度(12)进行处理,具体规则如下:
- 字符串不能为 null,否则无法进行处理,因此当为 null 时,返回 “字符串不能为空”。
- 字符串要求的长度是参数提供的最小长度 ~ 最大长度位,会对获取的字符串进行去除前后空格的处理,当去除空格后长度依然不满足要求时,会返回 “字符串长度必须在最小长度 ~ 最大长度位”。例如:字符串长度必须在3~12位。
- 对于长度小于最大长度位的字符串,会在字符串后面添加空格补全,直到长度为最大长度位后处理结束,并返回处理后的字符串。
题目要求
- 请使用简单循环覆盖法设计 6 条测试用例,使被测代码的判定循环覆盖率达到 100% 。
- 请使用 Java 语言对应的单元测试框架 JUnit 编写测试代码。
- 测试代码请直接在提供的类文件 UtilsTest.java 中编写。
- 在测试中用到的断言 Assert 类务必使用 org.junit 包中的 Assert。
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.Assert;
import org.junit.Test;
/**
* 1. 请使用简单循环覆盖法对被测源代码 Utils 类中的 stringStyle 方法设计 6 条单元测试用例。
* 2. 请在下方 UtilsTest 类中填写单元测试代码内容。
* 3. 在测试中用到的断言 Assert 类务必使用 org.junit 包中的 Assert 。
*/
public class UtilsTest {
@Test
public void testStringStyle01(){
// TODO 请填写单元测试代码
Assert.assertEquals("123456789",Utils.stringStyle("123456789",3,9));
}
@Test
public void testStringStyle02(){
// TODO 请填写单元测试代码
Assert.assertEquals("1234567 ",Utils.stringStyle("1234567",3,9));
}
@Test
public void testStringStyle03(){
// TODO 请填写单元测试代码
Assert.assertEquals("12345678 ",Utils.stringStyle("12345678",3,9));
}
@Test
public void testStringStyle04(){
// TODO 请填写单元测试代码
Assert.assertEquals("12345 ",Utils.stringStyle("12345",3,9));
}
@Test
public void testStringStyle05(){
// TODO 请填写单元测试代码
Assert.assertEquals("1234 ",Utils.stringStyle("1234",3,9));
}
@Test
public void testStringStyle06(){
// TODO 请填写单元测试代码
Assert.assertEquals("123 ",Utils.stringStyle("123",3,9));
}
}