测试覆盖率

(1)写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示。(单词之间用空格隔开,如“Hello World My First Unit Test”);

(2)编写单元测试进行测试;

(3)用ElcEmma查看代码覆盖率,要求覆盖达到100%。

代码

public class WordFreq {

 

 

private Map<String, Integer> wordsMap;

public WordFreq(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)+"次");

}

}

}

 

测试

import static org.junit.Assert.*;

 

import org.junit.Test;

 

 

public class WordFreqTest {

 

@Test

public void test() {

String strWords = "Hello World My First Unit Test";

WordFreq test = new WordFreq(strWords);

test.OutputResult();

}

}

 

结果

 

 

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

(1)把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;

(2)编写单元测试进行测试;

(3)用ElcEmma查看代码覆盖率,要求覆盖率达到100%。

import java.util.Scanner;

 

public class Demo{

 

 

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());

 

}

}

 

测试类

 

import org.junit.After;

import org.junit.Test;

 

public class DemoTest {

 

@Test

public void test() throws Exception {

String str="how are you";

Demo.test(str);

}

 

}

 

posted @ 2016-03-27 23:40  小新在午睡  阅读(143)  评论(0编辑  收藏  举报