使用Eclipse 集成的Junit进行单元测试。单元测试的核心包括断言、注解。

测试代码如下:

       @BeforeClass
// 针对所有测试,只执行一次,且必须为static void
public static void setUpBeforeClass() throws Exception {
System.out.println("in BeforeClass================");
} @AfterClass
// 针对所有测试,只执行一次,且必须为static void
public static void tearDownAfterClass() throws Exception {
System.out.println("in AfterClass=================");
} @Before
// 初始化资源
public void before() {
System.out.println("in Before");
} @After
// 释放资源
public void after() {
System.out.println("in After");
} @Test
public void testMain() {
System.out.println("请输入要统计的文件路径");
              Scanner sc = new Scanner(System.in);
              String road = sc.nextLine();
              FileInputStream fis = new FileInputStream(road);// 要读的文件路径
              File f = new File(road);
              File s[] = f.listFiles();
              for (int i = 0; i < s.length; i++) {
                  String fileName = s[i].getName();
                  if (fileName.endsWith(".txt")) {
                      sortAndOutput(road);
                  }
              }
              System.out.println("测试main");
              fail("Not yet implemented");
}

运行结果:

一个测试类单元测试的执行顺序为:

@BeforeClass –> @Before –> @Test –> @After –> @AfterClass

每一个测试方法的调用顺序为:

@Before –> @Test –> @After

出现程序运行正确但是测试结果出现错误的情况。

创建一个hashmap存储预期答案

static Map<String, Integer> map = new HashMap<String, Integer>();
@Parameters
//指定测试类的测试数据集合
  map.put("my", 1);
          map.put("english", 1);
          map.put("is", 1);
          map.put("very", 2);
          map.put("poor", 2);
          return Arrays.asList(new Object[][] {
              { "D:\1.txt", map  },
          });
}

代码覆盖率就是所写的单元测试所测试到的代码比例。

PSP:

单元测试感受:确定期待的输出结果,与运行结果对比,使自己直观的感受到正确与错误是很好的方法。

由于自己的代码没有分功能写成不同的函数,单元测试效果不好,有待进一步学习。

git:git.coding.net/yumiaomiao/WordCountJunit.git

ssh: git@git.coding.net:yumiaomiao/WordCountJunit.git

【week3】词频统计 单元测试的更多相关文章

  1. Java实现的词频统计——单元测试

    前言:本次测试过程中发现了几个未知字符,这里将其转化为十六进制码对其加以区分. 1)保存统计结果的Result文件中显示如图: 2)将其复制到eclipse环境下的切分方法StringTokenize ...

  2. java词频统计——改进后的单元测试

    测试项目 博客文章地址:[http://www.cnblogs.com/jx8zjs/p/5862269.html] 工程地址:https://coding.net/u/jx8zjs/p/wordCo ...

  3. USTC《现代软件工程》春季学期——第一次个人作业:词频统计

    截止日期 2018年3月29日23:59 要求 1. 对源文件(*.txt,*.cpp,*.h,*.cs,*.html,*.js,*.java,*.py,*.php等,文件夹内的所有文件)统计字符数. ...

  4. 软工结对项目之词频统计update

    队友 胡展瑞 031602215 作业页面 GitHub 具体分工 111500206 赵畅:负责WordCount的升级,添加新的命令行参数支持(自定义输入输出文件,权重词频统计,词组统计等所有新功 ...

  5. 软工之词频统计器及基于sketch在大数据下的词频统计设计

    目录 摘要 算法关键 红黑树 稳定排序 代码框架 .h文件: .cpp文件 频率统计器的实现 接口设计与实现 接口设计 核心功能词频统计器流程 效果 单元测试 性能分析 性能分析图 问题发现 解决方案 ...

  6. 论文爬取 & 词频统计2.0

    一.Github地址      课程项目要求    队友博客 二.具体分工 031602225 林煌伟 :负责C++部分主要功能函数的编写,算法的设计以及改进优化 031602230 卢恺翔 : 爬虫 ...

  7. 词频统计 ——Java

    github地址 :https://github.com/NSDie/personal-project 一.计划表 PSP2.1 Personal Software Process Stages 预估 ...

  8. 词频统计小程序-WordCount.exe

    一. 背景 ​ 最近顶哥为了完成学历提升学业中的小作业,做了一个词频统计的.exe小程序.因为当时做的时候网上的比较少,因此顶哥决定把自己拙略的作品发出来给需要的人提供一种思路,希望各位看官不要dis ...

  9. 现代软件工程HW1:词频统计

    作业详细要求:http://www.cnblogs.com/denghp83/p/8627840.html 基本功能 1. 统计文件的字符数(只需要统计Ascii码,汉字不用考虑,换行符不用考虑,'\ ...

随机推荐

  1. Flink的部署

    Flink的部署 环境准备:windows7系统,本地连接.如果打开更改适配器设置后没有本地连接,可以通过驱动精灵等软件安装网卡驱动.为了使部署在虚拟机上的服务器可以与物理机进行连通,必须使物理机的网 ...

  2. python闭包的概念及使用

    闭包:在函数里定义了另外一个函数(函数嵌套),内函数里运用了外函数的变量,外函数返回内函数的函数引用(函数名). nonlocal 的使用:闭包内部函数可直接调用外部函数的变量,如果修改需要使用non ...

  3. 创建IDataProvider实例

    using System; namespace Demo.Data{ public class DatabaseProvider { private static IDataProvider _ins ...

  4. springboot与activemq的使用

    1.springboot和activemq的使用相对来说比较方便了,我在网上看了很多其他的资料,但是自己写出来总是有点问题所以,这里重点描述一下遇到的一些问题. 2.至于activemq的搭建和spr ...

  5. 使用conlleval.pl对CRF测试结果进行评价的方法

    基于CRF做命名实体识别系列 用CRF做命名实体识别(一) 用CRF做命名实体识别(二) 用CRF做命名实体识别(三) 评测 用CRF做完命名实体识别我们测试之后得到的结果就是预测的标签,并不能直接得 ...

  6. iOS 开发库相关(持续更新)

    01-给任意view添加毛玻璃效果 https://github.com/JagCesar/iOS-blur   02-浮动式的textfield输入框(可用于登录界面) https://github ...

  7. dva 路由跳转

    1.从props取出并传递history 取 const { history } = this.props 用 <button onClick={ () => history.push(' ...

  8. 「专题训练」Machine Schedule(HDU-1150)

    题意 在一个工厂,有两台机器\(A, B\)生产产品.\(A\)机器有\(n\)种工作模式(模式\(0\),模式\(1\)--模式\(n-1\)).\(B\)机器有\(m\)种工作模式(模式\(0\) ...

  9. QT 标题栏隐藏可拖拽

    这个也是我网上找到了 为了方便,记录一下 void mousePressEvent(QMouseEvent *e); void mouseMoveEvent(QMouseEvent *e); void ...

  10. [SHELL]退出脚本

    一,退出状态码 1,范围:0~255 2,查看退出状态码:必须在命令执行之后立即执行 ,显示的是脚本最后一条命令的退出状态码 echo $? 若f返回值为0,则表示正常 有异常为正值 二,exit 脚 ...