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

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

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

 1 import java.util.ArrayList;
 2 import java.util.Collections;
 3 import java.util.Comparator;
 4 import java.util.HashMap;
 5 import java.util.List;
 6 import java.util.Map;
 7 import java.util.Scanner;
 8 import java.util.Map.Entry;
 9
10 public class Count {
11     private static String str;
12     public  Count (String str){
13         Count.str=str;
14     }
15     public static void main(String[] args) {
16         System.out.print("请输入您要测试的字符串:");
17         Scanner in=new Scanner(System.in);
18         str = in.nextLine();
19         count(str);
20
21     }
22
23     public static void count(String str){
24         String[] items = str.split(" ");
25         Map<String, Integer> map = new HashMap<String, Integer>();
26         for (String s : items) {
27             if (map.containsKey(s))
28                 map.put(s, map.get(s) + 1);
29             else {
30                 map.put(s, 1);
31             }
32         }
33         List<Entry<String, Integer>> list = new ArrayList<Entry<String, Integer>>();
34         for (Entry<String, Integer> entry : map.entrySet()) {
35             list.add(entry);
36         }
37         Collections.sort(list, new EntryComparator());
38
39         for (Entry<String, Integer> obj : list) {
40             System.out.println(obj.getKey() + "\t" + obj.getValue());
41         }
42     }
43 }
44
45 class EntryComparator implements Comparator<Entry<String, Integer>> {
46     public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
47         return o1.getValue() > o2.getValue() ? 0 : 1;
48     }
49 } 

(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%。

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

 1 import java.util.Scanner;
 2
 3 public class Reverse{
 4
 5     public static void main(String[] args) {
 6         Scanner input = new Scanner(System.in);
 7         System.out.print("请输入您要颠倒的字符串:");
 8         String str = input.nextLine();
 9         Reverse.reverse(str);
10     }
11     public static void reverse(String str){
12         String[] strArr = str.split("\\s+|[,]");
13         StringBuffer result = new StringBuffer();
14         for(int i = strArr.length -1;i >=0; i--){
15             result.append(strArr[i] + " ");
16         }
17
18         result.setCharAt(str.length()-0, (char) 0);
19         System.out.println("颠倒后的结果为:  "+result.toString());
20
21     }
22 }

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

 1 import org.junit.After;
 2 import org.junit.Test;
 3 public class ReverseTest {
 4
 5     @Test
 6     public void test() throws Exception {
 7         String str="how are you";
 8          Reverse.reverse(str);
 9     }
10
11 }

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

时间: 2024-10-10 07:20:08

单元测试和代码覆盖率工具的使用的相关文章

3137102440_曹庆发。单元测试和代码覆盖率工具的使用

1. 学习单元测试和代码覆盖率工具的使用 (1)写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示.(单词之间用空格隔开,如“Hello World My First Unit Test”): 1 import java.util.ArrayList; 2 import java.util.Collections; 3 import java.util.Comparator; 4 import java.util.HashMap; 5 import java.ut

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

(1)写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示.(单词之间用空格隔开,如“Hello World My First Unit Test”): (2)编写单元测试进行测试: (3)用ElcEmma查看代码覆盖率,要求覆盖达到100%. package com.kai.demo;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Se

单元测试-代码覆盖率工具 -- JaCoCo

最近学习Mybatis的官方文档,看到了[项目文档]一节有很多内容没有见过,做个笔记,理解一下. 随着敏捷开发的流行,编写单元测试已经成为业界共识.但如何来衡量单元测试的质量呢?有些管理者片面追求单元测试的数量,导致底下的开发人员投机取巧,编写出大量的重复测试,数量上去了,质量却依然原地踏步.相比单纯追求单元测试的数量,分析单元测试的代码覆盖率是一种更为可行的方式.JaCoCo(Java Code Coverage)就是一种分析单元测试覆盖率的工具,使用它运行单元测试后,可以给出代码中哪些部分被

VS2013单元测试及代码覆盖率分析--Xunit

1,Javaweb中有jmeter.jacoco.ant.badboy等集成测试代码覆盖率的方式,C#代码的覆盖率怎么测试呢?VS2013的IDE上本身并未集成测试的工具,以下讲解VS2013中C#代码的单元测试及代码覆盖率测试. 2,目前VS可集成的测试工具有Xunit.Nunit,Xunit是新版测试工具,Xunit已经托管在git上了,但是在codeplex上仍然提供下载.以下提供链接: a,http://xunit.codeplex.com/ b,https://github.com/x

Emma:Java代码覆盖率工具

这里主要结合几篇文章分享一下个人理解的emma的简单使用.复杂功能还需要以后进一步学习. 主页: http://emma.sourceforge.net 详细文档介绍:http://emma.sourceforge.net/reference/reference.html 这篇文章中介绍的Emma比较清晰,本文主要内容来自于它:http://nitintalk.wordpress.com/tag/jar-instrumentation-with-emma/ Emma配置 Emma比较简洁,主要包

C++代码覆盖率工具Coverage Validator

市面上的C++代码覆盖率工具大都收费,Coverage Validator也不例外.Coverage Validator应该少有人听过,我也是在stackoverflow里听别人介绍的.所以下载了试用一下.有兴趣的朋友可以去https://www.softwareverify.com/cpp/coverage/index.html了解一下更多东西,上面提供有30天试用版本. 之前试过CoverageMeter,使用起来也是蛮方便的,主要原理是替换了原有的编译器,在代码中进行插桩.因此,Cover

C++开源代码覆盖率工具OpenCppCoverage介绍(Windows)

http://www.cnblogs.com/coderzh/p/OpenCppCoverage.html 关于代码覆盖率统计工具,Linux平台下,gcc内置支持gcov,通过编译时加参数选项,进行代码插桩,从而实现代码覆盖率.在Windows平台下,早在几年前,我还没找到特别好用又开源的覆盖率工具,所以以前公司是自己实现了一套,使用起来也不是很方便. 最近又遇到同样的问题,不过非常幸运的是,一款开源的Windows平台的C++代码覆盖率工具出现了在我的面前:OpenCppCoverage.

JAVA代码覆盖率工具JaCoCo-原理篇

1.2 JAVA覆盖率工具介绍 1.3.3 Apache Maven方式 1.3.4 Eclipse EclDmma Plugin方式 JAVA代码覆盖率工具JaCoCo-实践篇 一.覆盖率项目中使用介绍 1.5执行测试,收集覆盖率结果文件 1.5.1AndroidManifest文件的修改 1.5.2生成覆盖率的apk工具和jacoco-cov-sdk.jar包 二.覆盖率与BVT测试结合 2.1在BVT用例框架中插入覆盖率方法 2.2执行BVT用例,得到覆盖率 2.3批量生成覆盖率报告,解析

3、学习单元测试代码覆盖率工具的使用(1)把一个英语句子中的单词次序颠倒后输出。

import java.util.Scanner; public class TestTest { public static void main(String [] a){ Scanner in=new Scanner(System.in); while(true){ String s=in.nextLine(); if(s.equalsIgnoreCase("quit")){ System.exit(0); } String[] ss=s.split("\\s+"