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