软件测试赛学生赛样题-01-单元测试 任务四 题目4
题目4:
题目:
输入小写的字符串。如字符串前缀为ab开头,则将前缀ab替换为ef并打印出替换后字符串,返回文字“替换前缀后的字符串为:”和替换后字符串值;如后缀为cd并且前缀不为ab,替换字符串中所有cd替换为gh并打印出替换后字符串,返回文字“替换cd后的字符串为:”和替换后字符串值;否则全部字母大写输出,返回文字“大写字母的字符串为:”和转换后的字符串值。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足条件覆盖测试,测试类使用参数化测试(@Parameters)完成测试。使用assertEquals判断期望结果值和实际返回值是否一致。
需求分析:
输入:小写字符串
判断:
- 若字符串前缀为ab开头,将前缀ab替换为ef,返回“替换ab后的字符串为:”和替换后字符串值。
- 若后缀为cd并且前缀不为ab,将字符串中所有cd替换为gh,返回“替换cd后的字符串为:”和替换后字符串值。
- 否则全部字母大写输出,返回“大写字母的字符串为:”和转换后的字符串值。
代码实现:
以下是Java类和JUnit测试类的概要示例代码:
首先是StringReplace类:
public class StringReplace {
public static String processString(String input) {
if (input.startsWith("ab")) {
return "替换前缀后的字符串为:" + input.replaceFirst("ab", "ef");
} else if (input.endsWith("cd")) {
return "替换cd后的字符串为:" + input.replaceAll("cd", "gh");
} else {
return "大写字母的字符串为:"