实验二 单元测试

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)编写单元测试进行测试;

原文地址:https://www.cnblogs.com/18144058917lbb/p/5356469.html