您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > junit
Junit使用笔记
作者:wangmin 发布时间:[ 2016/6/8 16:43:57 ] 推荐标签:单元测试 Junit

  Junit的所有测试方法都是以@Test修饰,以public void 开头。如下:
  @Test
  public void testAdd() {
  assertEquals(0, new Calculate().add(0, 1));
  }
  @BeforeClass && @AfterClass 都是只会执行一次,@BeforeClass是在类加载的时候执行,@AfterClass 是整个类结束的时候被执行,整个方法是一个静态方法。
  @BeforeClass
  public static void setUpBeforeClass() throws Exception {
  System.out.println("before class");
  }
  @AfterClass
  public static void tearDownAfterClass() throws Exception {
  System.out.println("after class");
  }
  @Before && @After两个方法是在每个测试方法执行的执行都会被执行,@Before是在方法执行前执行,@After是在方法执行结束后执行。
  @Before
  public void setUp() throws Exception {
  System.out.println("before");
  }
  @After
  public void tearDown() throws Exception {
  System.out.println("after");
  }
  @Ignore 所修饰的测试方法会被测试运行器忽略,例如以下的test1方法会被测试运行器忽略执行。
  @Ignore
  @Test
  public void test1() {
  System.out.println("test1");
  }
  @Test(timeout=毫秒),用来指定时间上限,如果这个测试方法的执行时间超过了这个时间值则测试失败。
  // 会执行失败,因为sleep的时间长于设定的timeout时间
  @Test(timeout=1000)
  public void test() {
  try {
  Thread.sleep(2000);
  } catch (InterruptedException e) {
  e.printStackTrace();
  }
  }
  @Test(expected=异常类),用expected来指定应该抛出的异常,如果在执行过程中没有抛出异常或者抛出的异常不是指定的异常,则测试失败。
  // 这个测试案例会执行成功,因为指定的异常是程序要抛出的异常
  @Test(expected=IndexOutOfBoundsException.class)
  public void outOfBounds()
  {
  new ArrayList<Object>().get(1);
  }
  测试套件是组织所要测试的类一起运行,如果单个类单独的运行是比较麻烦的,可以使用测试套件一起运行这些测试类。需要注意的是:
  测试套件的类是不包含其他任何方法
  同时要更改测试运行器为Suite.class
  将要测试的类作为数组传入到SuiteClasses({})中
  // 更改测试运行器以及将要测试的类放入SuiteClasses中
  @RunWith(Suite.class)
  @SuiteClasses({ AppTest.class, CalculateTest.class, JunitFlowTest.class })
  public class AllTests {
  // 没有测试方法
  }
  

软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd