JUnit单元测试基础要点
1.JUnit是一种测试代码的框架,测试的目的是:保证代码没错,而不是保证代码正确。
2.测试类一般不要和目标类放在一起,但编译成的class文件是放在一起的。
3.@Ignore
1.JUnit是一种测试代码的框架,测试的目的是:保证代码没错,而不是保证代码正确。
2.测试类一般不要和目标类放在一起,但编译成的class文件是放在一起的。
3.单元测试主要是来测试程序的结果和自己期望的值是否相等
Junit的配置:
一般eclipse中都集成了junit4,所以我们可以直接拿来使用。
使用:
一。简单测试(测试一个类中的方法)
1.测试单个方法(方法级别的),使用@Test注解
package test;
import org.junit.Test;
public class SimpleTest {
@Test
public void test(){
System.out.println("Juint单元测试");
}
}
鼠标放在test()方法上,点击右键run as==>JU
nitTest,会执行该方法。
2.测试一个类中多个方法(类级别的)
package test;
import org.junit.Test;
public class SimpleTest {
@Test
public void test(){
System.out.println("Juint单元测试");
}
@Test
public void test2(){
System.out.println("test2");
}
}
鼠标放在该类上,点击右键run as==>JUnitTest,会执行该类中所有@Test方法
3.@Ignore
如果方法不想让他运行,还在编辑中,那么可以使用@Ignore注解
package test;
import org.junit.Ignore;
import org.junit.Test;
public class SimpleTest {
@Test
public void test(){
System.out.println("Juint单元测试");
}
@Test
public void test2(){
System.out.println("test2");
}
@Ignore
@Test
public void test3(){
System.out.println("test3");
}
}
4.设置
超时
@Test(timeout = 1000)
当方法运行运行时间超过该时间,则判定该方法运行出错。
5. @Test(expected = ArithmeticException.class)
设置期望,出现该异常,则是我们期望方法出现的,那么测试通过,否则不同过
<span style="font-size:14px;">
@Test(expected=NullPointerException.class)
public void test4(){
System.out.println("测试期望异常");
throw new NullPointerException(); //这里编译可以通过,好神奇
}</span>
6.使用断言
/**
* 使用断言 测试通过
*/
@Test
public void test5(){
assertEquals(8, 8);
}
/**
* 使用断言 测试不同过
*/
@Test
public void test6(){
assertEquals(8, 9);
}
二.参数化单元测试
需要加入@RunWith(Parameterized.class)注解
@RunWith:这个是指定使用的单元测试执行类,这里就指定的是Parameterized.class,不使用RunWith注解,那么JUnit将会采用默认的执行类Suite执行