2012-11-23 72 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(); 
    } 
    
相关问题