0

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

        }
4

2 に答える 2

2

テストは実行されているようですが、期待する出力が生成されていないようです。JUnit ビューが開いていることを確認します。

ウィンドウ > ビューの表示 > その他... > Java > JUnit

このビューには、実行されたテストの数と合格したテストの数が視覚的に表示されます。テストが失敗した場合は、失敗したテストを右クリックしてデバッグできます。発生した例外も確認できます。

コンソール ウィンドウには、JUnit テストからの出力は表示されません (ロギング フレームワークまたは単純なprintlnステートメントのいずれかを使用して) テストに出力ステートメントを含めている場合を除きます。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 ファイル > Run as > JUnit テストを右クリックします。
  3. パネル JUnit で、単体テストの結果が成功または失敗したことを確認できます。

    import static org.junit.Assert.assertEquals;

    import static org.junit.Assert.assertNotNull;

    import static 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 に答える