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

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

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

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Map.Entry;

public class Count {
    private static String str;
    public  Count (String str){
        Count.str=str;
    }
    public static void main(String[] args) {
        System.out.print("请输入您要测试的字符串:");
        Scanner in=new Scanner(System.in);
        str = in.nextLine();
        count(str);
        
    }
    
    public static void count(String str){
        String[] items = str.split(" ");
        Map<String, Integer> map = new HashMap<String, Integer>();
        for (String s : items) {
            if (map.containsKey(s))
                map.put(s, map.get(s) + 1);
            else {
                map.put(s, 1);
            }
        }
        List<Entry<String, Integer>> list = new ArrayList<Entry<String, Integer>>();
        for (Entry<String, Integer> entry : map.entrySet()) {
            list.add(entry);
        }
        Collections.sort(list, new EntryComparator());

        for (Entry<String, Integer> obj : list) {
            System.out.println(obj.getKey() + "\t" + obj.getValue());
        }
    }
}

class EntryComparator implements Comparator<Entry<String, Integer>> {
    public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
        return o1.getValue() > o2.getValue() ? 0 : 1;
    }
}

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

import org.junit.Test;

public class CountTest {
    
    @Test
    public void testCount() throws Exception {
        String str="i love you! and you? ";
        Count.count(str);
    }

}

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

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

import java.util.Scanner;

public class Reverse{

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入您要颠倒的字符串:");
String str = input.nextLine();
Reverse.reverse(str);
}
public static void reverse(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)编写单元测试进行测试;

import org.junit.After;
import org.junit.Test;
public class ReverseTest {
    
    @Test
    public void test() throws Exception {
        String str="how are you";
         Reverse.reverse(str);
    }

}

 

posted on 2016-04-15 16:26  江不咸  阅读(291)  评论(0编辑  收藏  举报

导航