package com.zy.junit.test;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;

import com.zy.service.ServiceTest;

/**
 *
 * junit 3有一些比较霸道的地方,表现在: 1.单元测试类必须继承自TestCase。2.要测试的方法必须以test开头。
 * 推荐使用junit 4 
 * (1)被测试的类必须放在包里(2)返回值必须为void,而且不能有任何入参,否则运行时异常
 * @author Administrator
 *
 */
public class Junit4Test
{

// 每个测试方法执行之前都要执行一次
 @Before
 public void before()
 {
  System.out.println("before");
 }

// 每个测试方法执行之后要执行一次
 @After
 public void after()
 {
  System.out.println("after");
 }

// 只在测试类实例化执行@BeforeClass方法一次,必须声明static
 @BeforeClass
 public static void beforeClass()
 {
  System.out.println("beforeClass");
 }

// 当所有测试执行完毕之后,执行@AfterClass一次,必须声明static
 @AfterClass
 public static void afterClass()
 {
  System.out.println("afterClass");
 }

// @Test元数据中的expected属性。expected属性的值是一个异常的类型,相当于try catch,只是吃掉了此异常
 @Test(expected = ArithmeticException.class)
 public void testExpected()
 {
  int a = 10 / 0;
  System.out.println(a);
 }

// 传入了一个时间(毫秒)给测试方法,如果测试方法在制定的时间之内没有运行完,则测试也失败。
 @Test(timeout = 500)
 public void testTimeout()
 {
  try
  {
   Thread.sleep(480);
  } catch (InterruptedException e)
  {
   e.printStackTrace();
  }
  System.out.println("timeout test");
 }

// 测试方法在测试中会被忽略,用于:测试的方法还没有实现时,保证不阻碍其他方法的测试
 @Ignore
 public void testIgnore()
 {
  System.out.println(new ServiceTest().getString("hello"));
 }

// 使用@Test标注,表明这是一个测试方法
 @Test
 public void testGetString()
 {
  System.out.println(new ServiceTest().getString("hello"));
 }

@Test
 public void testGetString2()
 {
  System.out.println(new ServiceTest().getString("hello2"));
 }

}

junit 用法实例的更多相关文章

  1. php中的curl使用入门教程和常见用法实例

    摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...

  2. 上传文件及$_FILES的用法实例

    Session变量($_SESSION):�php的SESSION函数产生的数据,都以超全局变量的方式,存放在$_SESSION变量中.1.Session简介SESSION也称为会话期,其是存储在服务 ...

  3. C++语言中cin cin.getline cin.get getline gets getchar 的用法实例

    #include <iostream> #include <string> using namespace std; //关于cin cin.getline cin.get g ...

  4. Union all的用法实例sql

    ---Union all的用法实例sqlSELECT TOP (100) PERCENT ID, bid_user_id, UserName, amount, createtime, borrowTy ...

  5. 【转】javascript入门系列演示·三种弹出对话框的用法实例

    对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...

  6. php strpos 用法实例教程

    定义和用法该strpos ( )函数返回的立场,首次出现了一系列内部其他字串. 如果字符串是没有发现,此功能返回FALSE . 语法 strpos(string,find,start) Paramet ...

  7. 【JSP】三种弹出对话框的用法实例

    对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...

  8. python多线程threading.Lock锁用法实例

    本文实例讲述了python多线程threading.Lock锁的用法实例,分享给大家供大家参考.具体分析如下: python的锁可以独立提取出来 mutex = threading.Lock() #锁 ...

  9. jQuery中on()方法用法实例详解

    这篇文章主要介绍了jQuery中on()方法用法,实例分析了on()方法的功能及各种常见的使用技巧,并对比分析了与bind(),live(),delegate()等方法的区别,需要的朋友可以参考下 本 ...

随机推荐

  1. Mina.Net实现的UDP协议消息收发Demo

    using Mina.Filter.Codec; using Mina.Filter.Codec.TextLine; using System; using System.Collections.Ge ...

  2. LCD显示——点阵字体

    Bitmap font 点阵字体是把每一个字符都分成16×16或24×24个点,然后用每个点的虚实来表示字符的轮廓. 点阵字体优点是显示速度快,不像矢量字体需要计算:其最大的缺点是不能放大,一旦放大后 ...

  3. vuejs组件交互 - 01 - 父子组件之间的数据交互

    父子组件之间的数据交互遵循: props down - 子组件通过props接受父组件的数据 events up - 父组件监听子组件$emit的事件来操作数据 示例 子组件的点击事件函数中$emit ...

  4. Android下雪动画的实现

    原文链接 : Snowfall 原文作者 : Styling Android 译文出自 : hanks.xyz 译者 : hanks-zyh 校对者: desmond1121 状态 : 完毕 这本是一 ...

  5. HTTPS与HTTP协议区别

    1.主要区别 (1)超文本传输协议HTTP,HTTP下加入SSL层(位于传输层)的安全协议. (2)HTTP端口为80,HTTPS端口是443. 2.HTTPS通信过程 https 通信传输过程:

  6. Python文本爬虫实战

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/7019950.html  一:流程 目标:爬取目标网页的图片 1:获取网页源码 2:用Python读取源码 3: ...

  7. JavaIO流原理之常用字节流和字符流详解以及Buffered高效的原理

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827509.html      Java的流体系十分庞大,我们来看看体系图:        这么庞大的体系里面 ...

  8. dubbo应用架构演进路线图

    1.单应用单服务器: 2.单应用拆分成多个应用并部署到多个服务器: 3.单应用拆分成多个应用并实现分布式部署: 4.流动计算框架(用于提高机器利用率的资源调度和治理中心).

  9. HTML注释标签

      CreateTime--2016年11月4日08:46:25Author:Marydon参考链接--http://www.cnblogs.com/KeepMovingblog/archive/20 ...

  10. 奥比中光3D视觉传感器--OpenNI 2配置

    PrimeSense是Kinect一代的芯片供应商,位于以色列,也是开源体感开发包OpenNI 的维护者.自从被 Apple 收购后,销声匿迹,OpenNI 也停止更新.现在可以从网站http://s ...