unit 4x 相比 junit3.8大量使用了 annotation .
主程序
- public class Compalbe {
- public int add(int a,int b){
- return a+b;
- }
- public int div(int a,int b) throws Exception{
- return a/b;
- }
- }
测试程序
测试方法在junit4.x中必顺是public void ,但测试方法不做要求,不像3.8一样以test开头.类也不用继承TestCase
1.简单测试
- public class TestCompalbe {
- @Test
- public void testAdd(){
- Compalbe com = new Compalbe();
- int result = com.add(2, 2);
- Assert.assertEquals(3, result);
- }
- @Test
- public void testDiv() throws Exception{
- Compalbe com = new Compalbe();
- int result = com.div(2, 2);
- Assert.assertEquals(1,result);
- }
- }
2.指定异常
- public class TestCompalbe {
- //指定异常
- @Test(expected=Exception.class)
- public void testDiv() throws Exception{
- Compalbe com = new Compalbe();
- //除数为0异常
- int result = com.div(2, 0);
- Assert.assertEquals(1,result);
- }
- }
3.指定程序运行的延时
- @Test(timeout=100)//如果超去这个时间则不通过
- public void testDiv() throws Exception{
- Compalbe com = new Compalbe();
- int result = com.div(2, 2);
- Thread.sleep(20);
- Assert.assertEquals(1,result);
- }
4.@Before,@After
- public class TestCompalbe {
- Compalbe com = null;
- //@Before作用初始化测试方法相关资源
- @Before
- public void init() {
- System.out.println("init");
- com = new Compalbe();
- }
- //@After作用销毁测试方法相关资源
- @After
- public void destory() {
- System.out.println("destorys");
- com = null;
- }
- @Test
- public void testAdd() {
- int result = com.add(2, 2);
- Assert.assertEquals(4, result);
- }
- @Test
- public void testDiv() throws Exception {
- int result = com.div(2, 2);
- Assert.assertEquals(1, result);
- }
- }
注init,destory分别会执行 两次,有多少个测试方法就会分别执行 多少次
5 @BeforeClass,@AfterClass
- public class TestCompalbe {
- static Compalbe com = null;
- //@BeforeClass作用初始化测试方法相关资源(如:jdbc Connection)
- @BeforeClass
- public static void init() {
- System.out.println("init");
- com = new Compalbe();
- }
- //@AfterClass作用销毁测试方法相关资源
- @AfterClass
- public static void destory() {
- System.out.println("destorys");
- com = null;
- }
- @Test
- public void testAdd() {
- int result = com.add(2, 2);
- Assert.assertEquals(4, result);
- }
- @Test
- public void testDiv() throws Exception {
- int result = com.div(2, 2);
- Assert.assertEquals(1, result);
- }
- }
6 @Ignore
- @Test
- //测试程序将忽略些方法
- @Ignore
- public void testDiv() throws Exception {
- int result = com.div(2, 2);
- Assert.assertEquals(1, result);
- }
7@Suite (批量测试)
新增主程序
- public class Compalbe2 {