学习单元测试和代码覆盖率工具的使用
(1)写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示。(单词之间用空格隔开,如“Hello World My First Unit Test”);
package cn.linqi.com; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class Demo { private Map<String, Integer> wordsMap; public Demo(String strWords) { wordsMap = this.getArray(strWords); } public Map<String, Integer> getArray(String strWords) { String[] words_Array = strWords.split(" "); Map<String, Integer> words_Map = new HashMap<String, Integer>(); int arrlength = words_Array.length; for (int i = 0; i < arrlength; i++) { if (!words_Map.containsKey(words_Array[i])) { words_Map.put(words_Array[i], 1); } else { } } return words_Map; } public void OutputResult() { Set s = wordsMap.keySet(); Iterator i = s.iterator(); while (i.hasNext()) { Object o = i.next(); System.out.println(o + "出现了" + wordsMap.get(o) + "次"); } } }
(2)编写单元测试进行测试;
package cn.linqi.com; import static org.junit.Assert.*; import org.junit.Test; public class DemoTest { @Test public void test() { String strWords = "Hello World My First Unit Test"; Demo test = new Demo(strWords); test.OutputResult(); } }
(3)用ElcEmma查看代码覆盖率,要求覆盖达到100%。
2、 学习单元测试代码覆盖率工具的使用
(1)把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”
package cn.linqi.com; import java.util.Scanner; public class Test1 { public static void test(String str) { String[] strArr = str.split("\\s+|[,]"); StringBuffer result = new StringBuffer(); for (int i = strArr.length - 1; i >= 0; i--) { result.append(strArr[i] + " "); } result.setCharAt(str.length() - 0, (char) 0); System.out.println("颠倒顺序后的字符串:: " + result.toString()); } }
(2)编写单元测试进行测试;
package cn.linqi.com; import static org.junit.Assert.*; import org.junit.Test; public class Test1Test { @Test public void test() { String str="How are you"; Test1.test(str); } }
(3)用ElcEmma查看代码覆盖率,要求覆盖率达到100%。