首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Junit 四

2012-11-17 
Junit 4??近期写单元测试计划,公司准备把junit3.8升级到junit4以上的版本,所以研究了一下,写下学习过程和

Junit 4

??近期写单元测试计划,公司准备把junit3.8升级到junit4以上的版本,所以研究了一下,写下学习过程和心得体会,为了巩固学习成果,所以把学习心得写下来加深印象,也供需要的朋友查阅,少走弯路。?
?? 好了,废话不多说,直接开始:?
?? 假设我们要写一个整数除法和乘法的类,并且给他写测试用例:?

1) 建立Math类
?
工具是eclipse3.3?

  • import?static?org.junit.Assert.*; ??
  • ??
  • import?java.util.Arrays; ??
  • import?java.util.Collection; ??
  • ??
  • import?org.junit.AfterClass; ??
  • import?org.junit.BeforeClass; ??
  • import?org.junit.Ignore; ??
  • import?org.junit.Test; ??
  • import?org.junit.runner.RunWith; ??
  • import?org.junit.runners.Parameterized; ??
  • import?org.junit.runners.Parameterized.Parameters; ??
  • ??
  • /**??
  • ?*?@author?bulargy.j.bai??
  • ?*?@mail?bulargy@gmail.com??
  • ?*?@创建时间:Mar?11,?2008??
  • ?*?@描述:??
  • ?*/??
  • @RunWith(Parameterized.class) ??
  • public?class?MathTest?{ ??
  • ????int?faciend; ??
  • ????int?multiplicator; ??
  • ????int?result; ??
  • ??
  • ????public?MathTest(int?faciend,?int?multiplicator,?int?result)?{ ??
  • ?????????this.faciend?=?faciend; ??
  • ?????????this.multiplicator?=?multiplicator; ??
  • ?????????this.result?=?result; ??
  • ????} ??
  • ??
  • ????@BeforeClass??
  • ????public?static?void?setUpBeforeClass()?throws?Exception?{ ??
  • ????} ??
  • ??
  • ????@AfterClass??
  • ????public?static?void?tearDownAfterClass()?throws?Exception?{ ??
  • ????} ??
  • ??
  • ????@Test(expected=ArithmeticException.class) ??
  • ????public?void?testDivide()?{ ??
  • ????????assertEquals(3,Math.divide(9,3)); ??
  • ????????assertEquals(3,Math.divide(10,3)); ??
  • ????????Math.divide(10,0);//除数不能为0,会抛出异常???
  • ??
  • ????} ??
  • ??
  • ????//@Ignore("忽略乘法测试")???
  • ????@Test??
  • ????public?void?testMultiple()?{ ??
  • ????????assertEquals(result,Math.multiple(faciend,multiplicator)); ??
  • ????} ??
  • ???? ??
  • ????@Parameters??
  • ????public?static?Collection?multipleValues()?{ ??
  • ?????return?Arrays.asList(new?Object[][]?{ ??
  • ????????{3,?2,?6?}, ??
  • ????????{4,?3,?12?}, ??
  • ????????{21,?5,?105?}, ??
  • ????????{11,?22,?242?}, ??
  • ????????{8,?9,?72?}}); ??
  • ????} ??
  • ??
  • }??
    OK,大功告成。测试看看吧,测试类跑了5次~~。?

    大概就这么多体会了,总得来说JUnit4以后测试还是很方便的,顺便这个是仅仅是为了做例子,实际使用中由于JUnit4不再受命名的限制,所以应该划分更细粒度的测试来完成,一个方法的正确,异常,错误及边界数据完全可以分开来写测试方法。由于大部分情况资源只用加载和释放一次就足够,大大提高的测试的速度,再也不会有以前那样点开测试然后去泡咖啡的情况出现了~~呵呵~~

  • 热点排行