您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
Junit使用筆記
作者:wangmin 發(fā)布時間:[ 2016/6/8 16:43:57 ] 推薦標(biāo)簽:單元測試 Junit

  Junit的所有測試方法都是以@Test修飾,以public void 開頭。如下:
  @Test
  public void testAdd() {
  assertEquals(0, new Calculate().add(0, 1));
  }
  @BeforeClass && @AfterClass 都是只會執(zhí)行一次,@BeforeClass是在類加載的時候執(zhí)行,@AfterClass 是整個類結(jié)束的時候被執(zhí)行,整個方法是一個靜態(tài)方法。
  @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兩個方法是在每個測試方法執(zhí)行的執(zhí)行都會被執(zhí)行,@Before是在方法執(zhí)行前執(zhí)行,@After是在方法執(zhí)行結(jié)束后執(zhí)行。
  @Before
  public void setUp() throws Exception {
  System.out.println("before");
  }
  @After
  public void tearDown() throws Exception {
  System.out.println("after");
  }
  @Ignore 所修飾的測試方法會被測試運行器忽略,例如以下的test1方法會被測試運行器忽略執(zhí)行。
  @Ignore
  @Test
  public void test1() {
  System.out.println("test1");
  }
  @Test(timeout=毫秒),用來指定時間上限,如果這個測試方法的執(zhí)行時間超過了這個時間值則測試失敗。
  // 會執(zhí)行失敗,因為sleep的時間長于設(shè)定的timeout時間
  @Test(timeout=1000)
  public void test() {
  try {
  Thread.sleep(2000);
  } catch (InterruptedException e) {
  e.printStackTrace();
  }
  }
  @Test(expected=異常類),用expected來指定應(yīng)該拋出的異常,如果在執(zhí)行過程中沒有拋出異;蛘邟伋龅漠惓2皇侵付ǖ漠惓,則測試失敗。
  // 這個測試案例會執(zhí)行成功,因為指定的異常是程序要拋出的異常
  @Test(expected=IndexOutOfBoundsException.class)
  public void outOfBounds()
  {
  new ArrayList<Object>().get(1);
  }
  測試套件是組織所要測試的類一起運行,如果單個類單獨的運行是比較麻煩的,可以使用測試套件一起運行這些測試類。需要注意的是:
  測試套件的類是不包含其他任何方法
  同時要更改測試運行器為Suite.class
  將要測試的類作為數(shù)組傳入到SuiteClasses({})中
  // 更改測試運行器以及將要測試的類放入SuiteClasses中
  @RunWith(Suite.class)
  @SuiteClasses({ AppTest.class, CalculateTest.class, JunitFlowTest.class })
  public class AllTests {
  // 沒有測試方法
  }
  

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd