0

我正在尝试在 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();
            }

        }
4

2 回答 2

2

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

窗口 > 显示视图 > 其他... > Java > JUnit

此视图将直观地向您显示已经运行了多少测试以及通过了多少测试。如果测试失败,您可以右键单击失败的测试并调试它们。您还可以查看已发生的异常。

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

于 2012-11-23T08:43:20.973 回答
1

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

  1. 窗口 > 显示视图 > 其他... > Java > JUnit
  2. 右键单击 java 文件 > 运行方式 > JUnit 测试。
  3. 在 JUnit 面板上,您可以看到单元测试结果是成功还是失败。

    导入静态 org.junit.Assert.assertEquals;

    导入静态 org.junit.Assert.assertNotNull;

    导入静态 org.junit.Assert.assertTrue;

    导入 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();
    }
    
于 2012-12-13T13:24:43.177 回答