初识JUnit


package com.hugui.juint4;

public class T {

public int add(int x, int y){
return x + y;
}

public int divide(int x, int y){
return x/y;
}

}




//Errors表示程序出错,Failures表示结果测试出错
//运行多个测试

package com.hugui.juint4.test;

//静态引入(可以把那个类里面的静态方法引入进来),以前是import org.junit.* 但1.5之后用下面这种新的语法
import static org.junit.Assert.*;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.hamcrest.Matchers.*;
import com.hugui.juint4.T;

public class TTest {

/*
* 1. @Test: 测试方法
a) (expected=XXException.class)
b) (timeout=xxx)
2. @Ignore: 被忽略的测试方法
3. @Before: 每一个测试方法之前运行
4. @After: 每一个测试方法之后运行
5. @BeforeClass: 所有测试开始之前运行
6. @AfterClass: 所有测试结束之后运行
*
*/

//@BeforeClass: 所有测试开始之前运行,并且方法必须是static的
@BeforeClass
public static void beforeClass(){
System.out.println("beforClass");
}
//@AfterClass: 所有测试结束之后运行,并且方法必须是static的
@AfterClass
public static void afterClass(){
System.out.println("afterClass");
}

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

//加上Test注解,表示这是,能让jUnit运行时,会帮你一块儿运行
@Test
public void testAdd() {
// /fail("Not yet implemented");
int z = new T().add(3, 4);
//判断结果是否是正确的
assertEquals(7, z);

assertTrue(z>3);

//"z is too small"用来起提示作用
assertTrue("z is too small", z >3);

assertThat(z, is(7));
//z要满足allOf里面的所有条件,greaterThan()表示比..大,lessThan()表示比..大
assertThat(z, allOf(greaterThan(3), lessThan(10)));
//是什么值都让他通过
assertThat(z, anything());
//z是不是接近7.0,误差不超过0.3,但是没有没有编译通过
//assertThat(z, closeTo(7.0, 0.3));
/*
assertThat( n, allOf( greaterThan(1), lessThan(15) ) );
assertThat( n, anyOf( greaterThan(16), lessThan(8) ) );
assertThat( n, anything() );
assertThat( str, is( "hugui" ) );
assertThat( str, not( "hugui" ) );

b) assertThat( str, containsString( "hugui" ) );
assertThat( str, endsWith("hugui" ) );
assertThat( str, startsWith( "hugui" ) );
assertThat( n, equalTo( nExpected ) );
assertThat( str, equalToIgnoringCase( "hugui" ) );
assertThat( str, equalToIgnoringWhiteSpace( "hugui" ) );

c) assertThat( d, closeTo( 3.0, 0.3 ) );
assertThat( d, greaterThan(3.0) );
assertThat( d, lessThan (10.0) );
assertThat( d, greaterThanOrEqualTo (5.0) );
assertThat( d, lessThanOrEqualTo (16.0) );

d) assertThat( map, hasEntry( "hugui", "hugui" ) );
assertThat( iterable, hasItem ( "hugui" ) );
assertThat( map, hasKey ( "hugui" ) );
assertThat( map, hasValue ( "hugui" ) );

*/

}

//expected表示不活什么异常,timeout表示下面代码要在多少时间内完成
@Test(expected=java.lang.ArithmeticException.class, timeout=100)
public void testDivide(){
int z = new T().divide(8, 2);
assertThat(z, is(4));
}

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

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值