首先介绍下TestCase以及TestSuite.
   TestCase:字面意思,测试用例。为一个或多个方法提供测试方法。一般是一个test
   TestSuite:测试集合,即一组测试。一个test suite是把多个相关测试归入一组的快捷方式。如果自己没有定义,Junit会自动提供一个test suite ,包括TestCase中的所有测试。
  TestRunner:测试运行器。执行test suite的程序。
  现在开始编写类及使用test suite及test case来测试写好的类。
  代码的目录如图:
  下面我按照顺序,说出我做测试的具体步骤。
  第一步,先引入junit包,网上有很多教程教你怎么下载并引入,这里就不再重复。
  第二步,新建pakeage包,注意将要进行测试的类及含测试用例的类(一般会叫做test)分成两个包。可见上面的截图。
  第三步,新建一个类,以供测试,为Calculator。其代码如下:
        

第四步,先设计一个测试用例来测试这个类,一般命名为test???,这里我命名为TestCalculator。其代码如下:

      
选中{TestCaluator},右键Run as ,选中junit test,就可见左侧junit显示情况。

可看到是红色,且testAdd上面有个小叉叉,说明结果不是我们期望的。可在TestCalculator中发现我在testAdd中的用例是50+10=70,很明显不成立,所以他出错才是对的。若将70改为60,就会说绿色的。

第五步:用test suite测试全部的测试用例,或者是我们想要测试的类,而不用一个一个执行,节省时间,为TestAll文件,代码如下:

你会发现里面显示有错,但是我又是按照范例去输入的,所以我苦恼了,去百度才找到答案。
Junit并没有规定你一定要使用test???()这样的方式去命名您的测试方法,如果你要提高自己的方法,为了要能够使用建构函式提供测试方法名称,你的TestCase必须提供如下的建构函式:
    public Calculator(String arg){
     super(arg);
     }
添加之后就能使用addTest了。
第六步:使用testRuner。可以一次性执行那些用例,只需添加几条代码,可与上图对比。
这样就可以测试你想测试的类了。

JUnit之TestCase和TestSuite详解的更多相关文章

  1. TestCase和TestSuite详解

    一.TestCast和TestSuite概念介绍 TestCase:字面意思,测试用例.为一个或多个方法提供测试方法,一般是一个test. TestSuite:测试集合,即一组测试.一个test su ...

  2. 详解intellij idea搭建SSM框架(spring+maven+mybatis+mysql+junit)(下)

    在上一篇(详解intellij idea 搭建SSM框架(spring+maven+mybatis+mysql+junit)(上))博文中已经介绍了关于SSM框架的各种基础配置,(对于SSM配置不熟悉 ...

  3. Junit使用详解

    http://junit.org/上详细介绍了Junit.JUnit is a simple framework to write repeatable tests. It is an instanc ...

  4. junit 常用注解 + junit 断言详解

    @Test: 在junit3中,是通过对测试类和测试方法的命名来确定是否是测试,且所有的测试类必须继承junit的测试基类.在junit4中,定义一个测试方法变得简单很多,只需要在方法前加上@Test ...

  5. TestNG详解-深度好文

    转自: https://blog.csdn.net/lykangjia/article/details/56485295 TestNG详解-深度好文 2017年02月22日 14:51:52 阅读数: ...

  6. Java基础学习总结(24)——Java单元测试之JUnit4详解

    Java单元测试之JUnit4详解 与JUnit3不同,JUnit4通过注解的方式来识别测试方法.目前支持的主要注解有: @BeforeClass 全局只会执行一次,而且是第一个运行 @Before  ...

  7. HTMLParser 使用详解

    htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或   提取html.它能超高速解析html,而且不会出错.现在htmlparser最新版本为2 ...

  8. 【python3+request】python3+requests接口自动化测试框架实例详解教程

    转自:https://my.oschina.net/u/3041656/blog/820023 [python3+request]python3+requests接口自动化测试框架实例详解教程 前段时 ...

  9. 【原创】Junit4详解二:Junit4 Runner以及test case执行顺序和源代码理解

    概要: 前一篇文章我们总体介绍了Junit4的用法以及一些简单的测试.之前我有个疑惑,Junit4怎么把一个test case跑起来的,在test case之前和之后我们能做些什么? Junit4执行 ...

随机推荐

  1. 【python密码学编程】6.凯撒加密法

    凯撒加密法的迷药是0~25的整数 # _*_ coding:utf-8 _*_ #Caeser Ciper import pyperclip messgae = 'this is my secret ...

  2. HTML中表格

    HTML表格 [表格table] 表格用table表示,表格中的每一行tr表示,一行中的每一列用td表示 th表示的是:表头.表头中的文字,默认为加粗居中.th要放在tr中,用于替换掉td. [tab ...

  3. python实战===使用随机的163账号发送邮件

    import linecache import smtplib import time import linecache import random #算出txt的行数,163账号_2.txt中,每一 ...

  4. 开心的金明 NOIP 2006 普及组

    题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就 ...

  5. 使用pg_upgrade工具为PostgreSQL进行版本升级

    公司的测试环境和生产环境都是9.2.4版本,而开发环境是9.0.18版本. PS: 不知道公司里的其它同事,是如何做数据库迁移的,利用第三方可视化工具备份数据库,然后恢复到其它高版本的环境?反正我没成 ...

  6. MySQL Flush导致的等待问题

    --MySQL Flush导致的等待问题 -------------------------------2014/07/13 前言 在实际生产环境中有时会发现大量的sql语句处于waiting for ...

  7. Redis sentinel 哨兵模式集群方案配置

    第一个方案是创建 redis cluster,第二种方案就是用哨兵模式来进行主从替换以及故障恢复.兵模式集群方案配置 一.sentinel介绍 Sentinel作用: 1):Master状态检测 2) ...

  8. sqlite数据库之简单操作

    一 sqlite介绍 Sqlite是一种嵌入式数据库,类似于一个文件系统,是跟程序在一起的.跟mysql等数据库程序跟数据分离是不一样的. 应用场景:常用于保存本地配置,类似于本地文件系统,因此他内嵌 ...

  9. MySQL中的完整性约束

    对于已经创建好的表,虽然字段的数据类型决定所能存储的数据类型,但是表中所存储的数据是否合法并没有检查. MySQL支持的完整性约束: NOT NULL                 约束字段的值不能 ...

  10. SQL-三级分类查询

    /*SQLyog 企业版 - MySQL GUI v8.14 MySQL - 5.5.40 : Database - appinfodb******************************** ...