Junit的使用
我们当然可以用myeclipse自带的junit的jar包,但是我觉得自己引入比较不错。
测试一
引入的jar包——junit-4.7
package com.xy.methods;
public class Methods
{
public int add(int x, int y)
{
return x + y;
}
public int divide(int x, int y)
{
return x / y;
}
}
import static org.junit.Assert.*表示静态引入,把Assert下的方法引入,可以直接调用方法
package com.xy.methods.test;
import static org.junit.Assert.*;
import org.junit.Test;
import com.xy.methods.Methods;
public class MTest
{
@Test
public void testAdd1()
{
int result = new Methods().add(3, 5);
assertEquals(8, result);
}
@Test
public void testAdd2()
{
int result = new Methods().add(3, 5);
assertEquals(9, result);
}
@Test
public void testAdd3()
{
int result = new Methods().add(3, 5);
assertTrue(result > 100);
}
@Test
public void testAdd4()
{
int result = new Methods().add(3, 5);
assertTrue("is bigger than 100?", result > 100);
}
// 预期异常为ArithmeticException,如果是该异常,就测试成功(绿色)
// 该方法需要在100ms内结束
@Test(expected = java.lang.ArithmeticException.class, timeout = 100)
public void testDivide()
{
int z = new Methods().divide(8, 0);
assertEquals(9, z);
}
}
测试二(使用assertThat)
引入的jar包
junit-4.7
hamcrest-core-1.2
hamcrest-library-1.2
public class T
{
public int add(int x, int y)
{
return x + y;
}
public int divide(int x, int y)
{
return x / y;
}
}
import static org.hamcrest.Matchers.*;
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 com.bjsxt.junit4.T;
public class TTest
{
@BeforeClass
public static void beforeClass()
{
System.out.println("beforeClass");
}
@Before
public void before()
{
System.out.println("before");
}
@SuppressWarnings("unchecked")
@Test
public void testAdd()
{
int z = new T().add(5, 3);
assertThat(z, is(8));
assertThat(z, allOf(greaterThan(5), lessThan(10)));
}
@After
public void after()
{
System.out.println("after");
}
@AfterClass
public static void afterClass()
{
System.out.println("afterClass");
}
}
具体hamcrest包里面有什么方法,可以上网查询。
最后更新:2017-04-02 18:44:44