标签:
《软件测试》实验
实验二 单元测试
实验目的
(1) 用JUnit编写单元测试;
(2) 学习代码覆盖率和性能监测工具的使用;
并写一段个人简介(不少于100字)
2、 学习单元测试和代码覆盖率工具的使用
(1)写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示。(单词之间用空格隔开,如“Hello World My First Unit Test”);
(2)编写单元测试进行测试;
(3)用ElcEmma查看代码覆盖率,要求覆盖率达到100%。
3、 学习单元测试代码覆盖率工具的使用
(1)把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;
(2)编写单元测试进行测试;
(3)用ElcEmma查看代码覆盖率,要求覆盖率达到100%。
实验结果
2.1)import java.util.HashMap;
import java.util.Iterator;
/**
* @author 黄秋月
* 分析一个字符串中各个单词出现的频率
* 2016/4/15
*/
//哈希表计出现次数
public class Has {
// 统计单词出现的次数
public static String StatList(String str) {
StringBuffer sb = new StringBuffer();
HashMap<String ,Integer> has = new HashMap<String ,Integer> (); // 打开一个哈希表
String[] slist = str.split("\\b");
for (int i = 0; i < slist.length; i++) {
if (!has.containsKey(slist[i])) { // 若尚无此单词
has.put(slist[i], 1);
} else {//如果有,就在将次数加1
has.put(slist[i],has.get(slist[i])+1 );
}
}
//遍历map
Iterator iterator = has.keySet().iterator();
while(iterator.hasNext()){
String word = (String) iterator.next();
sb.append("单词:").append(word).append(" 次数").append(has.get(word)).append("\n");
}
return sb.toString();
}
public static void main(String[] args) {
String s = new String("You are the mananger.");
System.out.println(StatList(s));
}
}
测试用例:
import static org.junit.Assert.*;
import org.junit.Test;
public class HasTest {
@Test
public void test() {
String s = new String("I am student");
Has has=new Has();
System.out.println(has.StatList(s));
}
}
覆盖率
2)
/*
* @author 黄秋月
* 把一个英语句子中的单词次序颠倒后输出
* 2016/4/14
* */
public class ReverseWords {
private static String word;
public ReverseWords(String str){
this.word=str;
}
public void reverse(){
int length=word.length();
int a=-1,b=-1;
for(int i=0;i<length;i++){
if(a==-1&&word.charAt(i)==‘ ‘)//字符串开头有空格
continue;
if(a==-1){//确定单词首位置
a=i;
continue;
}
if(word.charAt(i)==‘ ‘){//确定单词尾
b=i-1;
}
else if (i==length-1) {//遍历到字符串末尾
b=i;
}
else {
continue;
}
reverse(a,b);
a=-1;
b=-1;
}
reverse(0,length-1);
System.out.println(word);
}
public void reverse(int a,int b){
char[] tmp=word.toCharArray();
while(a<b){
tmp[a]^=tmp[b];
tmp[b]^=tmp[a];
tmp[a]^=tmp[b];
a++;
b--;
}
word=String.copyValueOf(tmp); }
}
单元测试
public class Test {
/**
* @author 黄秋月
*把一个英语句子中的单词次序颠倒后输出
* */
public static void main(String[] args) {
// TODO Auto-generated method stub
ReverseWords re=new ReverseWords(" I do for you ");
re.reverse(); }
}
覆盖率
标签:
原文地址:http://www.cnblogs.com/1163864805qq/p/5394990.html