学习单元测试和代码覆盖率工具的使用

(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%。

 

 

 

 

 

posted @ 2016-03-27 23:44  木木大可  阅读(437)  评论(0编辑  收藏  举报