package com.util;
import static org.junit.Assert.*;
import org.junit.Ignore;
import org.junit.Test;
//建立一个测试类对象用于对测试当中的注解进行解释说明
public class AnotationTest {
/*
*@Test:就一个普通的方法修饰成为一个测试方法
*@Test(expected=XxxException.class):表明当前修饰的测试方法将会预期进行抛出的异常的类型
*@Test(timeout=毫秒):强制当前所测试的方法在运行了指定的时间之后将停止运行,Eg:在对一个死循环进行测试的时候用
*@BeforClass:被修饰的方法将会在所有的方法被执行之前进行执行操作,static修饰
*@AfterClass:被修饰的方法将会在所有的方法执行之后进进行执行操作,static修饰
*@Before:在每一个被测试方法执行之前进行执行操作
*@After:会在每一个测试方法执行之后进行执行操作
*@Ignore:所修饰的测试方法将会被忽略不会被执行
*/
//在Test注解所修饰的方法当中声明了当前测试方法当中预期将会抛出一个算术异常并对其进行捕获操作,所以该测试方法在运行之后将不会产生错误
@Test(expected=ArithmeticException.class)
public void testDivide(){
assertEquals(2, new Calculate().divide(6,0));
}
//当前对死循环进行测试的方法被Ignore修饰之后,将会被忽略不再进行执行操作
@Ignore("该方法被忽略的原因将写于此处")
@Test(timeout=2000)
public void testWhile()
{//对死循环进行测试操作,执行2秒之后将自动停止执行
while(true)
{
System.out.println("run forever......");
}
}
}