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. Github 基本操作

    .配置Git 首先在本地创建ssh key:$ ssh-keygen -t rsa -C "your_email@youremail.com" 后面的your_email@your ...

  2. 007-Go package 说明

    1:在项目src下面存在两个目录,每个目录里面各有一个go文件 2:add.go package test02 func Add(a int, b int) int{ return a + b } 注 ...

  3. Java本地运行中文正常,部署到Weblogic中文乱码

    在使用一个加密解密工具类的时候,在本地Main方法中运行正常,不会出现中文乱码,将其部署到Weblogic之后,控制台,Servlet中中出现中文乱码. 在Main方法运行时获取本地编码方式为UTF8 ...

  4. HTML5开发之获取设备的地理坐标

    近期一段时间開始学一下html5,发现里面有好多的知识还是蛮新颖的.所以整理了一下自己练习过的demo给大家分享下,以下的代码是通过js接口获取当前的地理坐标. <!doctype html&g ...

  5. Aerospike系列:1:安装

    1:下载源文件 wget http://www.aerospike.com/artifacts/aerospike-server-community/3.5.9/aerospike-server-co ...

  6. Java线程池的使用以及原理

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6543909.html  一:线程池简介 在使用多线程来提高处理器利用率的同时,由于线程的不断创建和销毁所造成的 ...

  7. recordMyDesktop的安装与使用

    今天给大家推荐一款能让桌面录像更简单的屏幕录像的工具:  RecordMyDesktop 安装 RecordMyDesktop RecordMyDesktop 的核心是一系列命令工具,不过 Gnome ...

  8. [转]文件后缀与Mime类型对照表

    //文档文件类型的 .ai application/postscript .eps application/postscript .exe application/octet-stream .doc ...

  9. 转: Orz是一个基于Ogre思想的游戏开发架构

    Orz是一个基于Ogre思想的游戏开发架构,好的结构可以带来更多的功能.Orz和其他的商业以及非商业游戏开发架构不同.Orz更专著于开发者的感受,简化开发者工作.Orz可以用于集成其他Ogre3D之外 ...

  10. OSS设置CORS规则以后还是报No 'Access-Control-Allow-Origin'解决方法

    OSS设置CORS规则以后还是报No 'Access-Control-Allow-Origin'解决方法 在OSS控制台设置了CORS规则以后,通过JS程序去调用的时候报No 'Access-Cont ...