在junit4.12之后,Assert就过时了,提供了TestCase来取代;
同样在TestCase中原本比较常见的一些方法也已经取消了,例如:assertNotEquals、assertThat、assertArraysEquals。
自己写了一个MathUtil方法,代码很简单,就不贴了:
package a_junit;
import org.junit.Test;
import junit.framework.Assert;
import junit.framework.TestCase;
/**
* 关于Junit的使用:
* 可以使用选中方法然后run as 1 Junit Test
* 也可以使用在online中查看缩略图,对缩略图中的方法进行run as
*
* 满足Junit Test的条件,必须是public void的(不能有返回值,必须是public的)
* 而且方法中没有参数(模拟main函数的入口)
* 可以抛出异常!
*
* @author mzy
*/
public class TestMathUtil {
@Test
public void testAdd() {
int a = 0;
int b = 5;
System.out.println(MathUtil.add(a, b));
}
@Test
public void testDiv() {
int a = 5;
int b = 3;
System.out.println(MathUtil.div(a, b));
}
@Test
public void testAddIsRight() {
/*
* 手动抛出错误!
*/
if(MathUtil.add(5, 10) != 15) {
throw new RuntimeException("错误答案!");
}
}
@Test
public void testDivIsRight() {
/*
* 使用Junit中专业的判定结果的方法:
* Assert 断言类
* 在junit4.12中,Assert过时,被TestCase取代
* assertNotEquals、assertThat、assertArraysEquals 已经取消
* 取消
*
* assertTrue
* assertFalse
* assertNotSame
* assertSame
* assertEquals
*
* assertNull
* assertNotNull
*/
// Assert.assertEquals(15, MathUtil.div(45, 3)); // 判断两个值是否相等
// Assert.assertNotSame(expected, actual);
TestCase.assertEquals(15, (int)MathUtil.div(45, 3)); // 使用equals进行判断(对象的话,可重写equals方法进行对象匹配)
TestCase.assertSame(15, MathUtil.add(10, 5)); // 使用 == 进行判断
TestCase.assertNotSame(15, MathUtil.add(10, 8));
}
}