使用JUnit在Eclipse中运行测试用例

时间:2012-11-23 08:23:37

标签: java oracle junit junit4

我正在尝试在Eclipse中使用JUnit运行测试但是测试用例没有运行且holly控制台没有显示任何内容。控制台中唯一出现的行是:

<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();
            }

        }

2 个答案:

答案 0 :(得分:1)

听起来您的测试正在执行但不会产生您期望的输出。确保打开JUnit视图:

窗口&gt;显示视图&gt;其他...&gt; Java&gt; JUnit的

此视图将直观地显示已运行的测试数量以及已通过的测试数量。如果测试失败,您可以右键单击失败的测试并进行调试。您还可以查看已发生的例外情况。

除非您在测试中包含输出语句(通过日志记录框架或简单的println语句),否则控制台窗口不会显示JUnit测试的任何输出。只有JUnit视图才会显示测试是否通过。

答案 1 :(得分:1)

使用Junit进行单元测试时,不应使用try和catch块使用throws Exception。 而不是if(null!= conn)使用JUnit断言测试(assertNotNull或assertEquals或另一个)。 要在Eclipse上运行JUNit测试:

  1. 窗口&gt;显示视图&gt;其他...&gt; Java&gt; JUnit的
  2. java文件中的右clic&gt;以&gt;运行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();
    }