2012-11-23 101 views
0

我想在Eclipse中使用JUnit運行測試,但測試用例未運行,而且Holly控制檯沒有顯示任何內容。唯一出現在控制檯中的行是:在Eclipse中使用JUnit運行測試用例

<terminated>AccountManagmentModuleTest[JUnit] D:\Program Files\Java\jdk1.6.0_26\bin\javaw.exe(Nov 23, 2012 12:08:49 PM) 

我想要做的就是運行測試用例。有些行正在執行,如開始連接到db,但沒有使用DriverManager創建連接對象,也不會拋出任何異常。

enter code here 

Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 
      conn = DriverManager.getConnection("jdbc:oracle:oci8:@local ip:1521:orcl", "dipak1","dipak1"); //got to finally from here, not even catching anything!!! 
      cstmt = conn.prepareCall(query); 
      cstmt.execute(); 

     } catch (Exception e) { 

      e.printStackTrace(); 
     } finally { 

      if (null != conn) { 

       if (null != cstmt) { 
        cstmt.close(); 

       } 
       conn.close(); 
      } 

     } 
+0

,你能告訴我們的考驗,它停止? –

+0

另外,你能告訴我們你如何運行測試?另外,請考慮嘗試一個乾淨的工作空間 – Miquel

+0

@UdoKlimaschewski:conn被剔除爲null,並且沒有任何異常。之後,得到連接它會最終阻止並終止。 :( – Dipak

回答

1

這聽起來像你的測試正在執行,但沒有產生你期望的輸出。確保已打開的JUnit視圖:

窗口>顯示視圖>其他...>的Java> JUnit的

這種觀點在視覺上就會顯示出你有多少測試已經運行,有多少人通過。如果測試失敗,您可以右鍵單擊失敗的測試並調試它們。您還可以看到發生的異常。

除非您在測試中包含輸出語句(通過日誌框架或簡單的println語句),否則控制檯窗口將不會顯示您的JUnit測試的任何輸出。只有JUnit視圖會顯示你的測試是否通過。

+0

JUnit視圖是開放的,它的初始配置ithik有一些問題。你關於控制檯窗口,因爲沒有單行日誌出現在它上面,這意味着執行沒有開始。 事情是,今天我改變了我的文件和設置到新的PC,它在舊的PC,但在新的工作很好有一些問題。 你可以打電話給我一些配置,應該在我開始工作之前完成junit。 我的項目是一個maven,使用Oracle數據庫(遠程),部署嵌入式玻璃魚。 – Dipak

1

當您使用Junit進行單元測試時,您不應該使用try和catch塊使用拋出異常。 而不是if(null!= conn)使用JUnit斷言測試(assertNotNull或assertEquals或另一個)。 要在Eclipse中運行JUnit測試:

  1. 窗口>顯示視圖>其他...>的Java> JUnit的
  2. 上的Java文件右鍵CLIC>運行方式> JUnit測試。
  3. 在面板JUnit上,您可以看到單元測試結果成功或失敗。

    import static org.junit.Assert.assertEquals;

    import static org.junit.Assert.assertNotNull;

    import static org.junit.Assert.assertTrue;

    import org.junit.Test;

    @Test 
    public void testDbConnexion() throws Exception 
    { 
         Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 
    conn = DriverManager.getConnection("jdbc:oracle:oci8:@local ip:1521:orcl", "dipak1","dipak1"); //got to finally from here, not even catching anything!!! 
         cstmt = conn.prepareCall(query); 
         cstmt.execute(); 
         assertNotNull(conn); 
         assertNotNull(cstmt); 
         connn.close(); 
    } 
    
相關問題