3137102127 林志坤(实验2)
《软件测试》实验
实验二 单元测试
实验目的
(1) 用JUnit编写单元测试;
(2) 学习代码覆盖率和性能监测工具的使用;
实验内容
1、 在博客园http://www.cnblogs.com/开通自己的技术博客
关注http://www.cnblogs.com/mjutest
并写一段个人简介(不少于100字)
林志坤微博http://www.cnblogs.com/tongqingdali/
2、 学习单元测试和代码覆盖率工具的使用
(1)写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示。(单词之间用空格隔开,如“Hello World My First Unit Test”);
(2)编写单元测试进行测试;
(3)用ElcEmma查看代码覆盖率,要求覆盖达到100%。
如下:
功能实现类Test2:
package com.kai.demo;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Test1 {
private Map<String, Integer> wordsMap;
public Test1(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 {
int currentNum = words_Map.get(words_Array[i]) + 1;
words_Map.remove(words_Array[i]);
words_Map.put(words_Array[i], currentNum);
}}
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)+"次");
}}}
//测试类
package com.kai.test;
import static org.junit.Assert.*;
import org.junit.Test;
import com.kai.demo.Test1;
public class Test1Test {
@Test
public void test() {
String strWords = "Hello World My First Unit Test";
Test1 test = new Test1(strWords);
test.OutputResult();
}}
3、 学习单元测试代码覆盖率工具的使用
(1)把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;
(2)编写单元测试进行测试;
(3)用ElcEmma查看代码覆盖率,要求覆盖率达到100%。
import java.util.Scanner;
public class Test {
public void reverse(String str) {
String[] wordArray = str.split(" ");
System.out.print("颠倒输出:");
for (int i = wordArray.length - 1; i >= 0; i--) {
System.out.print(wordArray[i] + " ");
}
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一句英语句子:");
String str = input.nextLine();
Test test = new Test();
test.reverse(str);
}}