1、 学习单元测试和代码覆盖率工具的使用
(1)写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示。(单词之间用空格隔开,如“Hello World My First Unit Test”)
;
package demo;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class ruanjianceshi {
// 统计结果用,采用String即单词做键(Key)
private Map<String, Integer> countMap = new HashMap<String, Integer>();
public void countChar(String str) {
String[] chars = str.split("\s+|[,.!?]");// 将字符串转化成单词String数组
// 循环,开始统计
for (String ch : chars) {
// 判断单词是否存在
if (!countMap.containsKey(ch)) {
// 不存在,在Map中加一个,并设置初始值为0
countMap.put(ch, 0);
}
// 计数,将值+1
int count = countMap.get(ch);
countMap.put(ch, count + 1);
}
// 输出结果
Set<String> keys = countMap.keySet();
for(String ch : keys){
System.out.println("单词" + ch + "出现次数:" + countMap.get(ch));
}
}
public static void main(String[] args) {
// 测试方法
System.out.println("请输入:");
Scanner input =new Scanner(System.in);
String str = input.nextLine();
ruanjianceshi test = new ruanjianceshi();
test.countChar(str); // 注:不支持中文
}
}
(2)编写单元测试进行测试;
(3)用ElcEmma查看代码覆盖率,要求覆盖率达到100%。
2、 学习单元测试代码覆盖率工具的使用
(1)把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;
package Test;
import java.util.Scanner;
public class MyTest {
public static void main(String[] args) {
re();
}
static void re() {
System.out.println("请输入一个英语句子:");
Scanner input =new Scanner(System.in);
String str = input.nextLine();
MyTest test = new MyTest();
String strs[] = str.split("\s+|[,.!?]");
StringBuffer restr = new StringBuffer();
for(int i = strs.length-1; i >= 0; i--){
restr.append(" "+strs[i]);
}
System.out.println("次序颠倒为:"+restr);
}
}
(3)用ElcEmma查看代码覆盖率,要求覆盖率达到100%。
(2)编写单元测试进行测试;