实验2

《软件测试》实验

实验二 单元测试                                                      

实验目的

(1)       用JUnit编写单元测试;

(2)       学习代码覆盖率和性能监测工具的使用;

实验内容

1、 在博客园http://www.cnblogs.com/开通自己的技术博客

关注http://www.cnblogs.com/mjutest

并写一段个人简介(不少于100字)

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

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

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

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

Demo类:

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

public class Demo {

    public void countWord(String str) {

       String[] wordsArray = str.split(" ");

       Map<String, Integer> wordsMap = new HashMap<String, Integer>();

       for (String word : wordsArray) {

           if (wordsMap.containsKey(word)) {

              wordsMap.put(word, wordsMap.get(word) + 1);

           } else {

              wordsMap.put(word, 1);

           }

       }

       Set<String> setKey = wordsMap.keySet();

       Iterator<String> itKey = setKey.iterator();

       while (itKey.hasNext()) {

           String word = itKey.next().toString();

           int count = wordsMap.get(word);

           System.out.println("单词    " + word + "  出现" + count + "次");

       }

    }

 

}

JUnit单元测试类:

import static org.junit.Assert.*;

import org.junit.Test;

 

public class DemoTest {

 

    @Test

    public void testCountWord() {

       Demo demo = new Demo();

       demo.countWord("Hello World Hello Java Hello Test");

    }

}

测试:

 

EclEmma代码覆盖率:

3、 学习单元测试代码覆盖率工具的使用(结对项目

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

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

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

Demo类:

public class Demo {

    public void reverse(String str) {

       String[] wordsArray = str.split(" ");

       System.out.print("单词颠倒输出: ");

       for (int i = wordsArray.length - 1; i >= 0; i--) {

           System.out.print(wordsArray[i] + " ");

       }

    }

}

 

JUnit单元测试类:

import static org.junit.Assert.*;

import org.junit.Test;

 

public class DemoTest {

 

    @Test

    public void testReverse() {

       Demo demo = new Demo();

       demo.reverse("Hello World Hello Java Hello Test");

    }

}

 

测试:

 

EclEmma代码覆盖率:

 

 

4、博客作业,将题3作为你的博客作业,发布的自己的博客中,具体请关注http://www.cnblogs.com/mjutest中发布的作业要求。

原文地址:https://www.cnblogs.com/zhengjl/p/5345248.html