HSQLDB ve JUnit Entegrasyonu

Oca 15th, 2010 | Yazar: Özcan Acar | Kategori: Püf Noktası

Oluşturduğum entegrasyon JUnit testlerinde, testler öncesi verilerin bilgibankasına aktarılması gerekiyor. Aşağıda yer aldığı şekilde JUnit sınıfı bünyesinde HSQLDB serveri standalone modda çalıştırılabilir ve DBUnit ile veriler bilgibankasına eklenebilir.


    // JDBC Driver
    public static final String DRIVERCLASS      = "org.hsqldb.jdbcDriver";
    // standalone mode
    public static final String CONNECTIONURL    = "jdbc:hsqldb:hsql://localhost:9006/mydb";

    public static final String USERNAME         = "sa";
    public static final String PASSWORD         = "";

private void startHsqlDb()
    {        

	    if(!isHsqlDbStarted())
	    {
	        Server hsqlServer = new Server();
	        hsqlServer.setAddress("localhost");
	        hsqlServer.setPort(9006);
	        hsqlServer.setDatabasePath(0, "db/hsqldb-data/");
	        hsqlServer.setDatabaseName(0, "mydb");
	        hsqlServer.start();
	    }
    }

	private boolean isHsqlDbStarted()
    {
        boolean result = false;
        try
        {
            Class.forName(DRIVERCLASS);
            Connection con = DriverManager.getConnection(CONNECTIONURL, USERNAME, PASSWORD);
            con.close();
            result = true;
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return result;
    }

	private static void stopHsqlDb()
    {
        try
        {
            Class.forName(DRIVERCLASS);
            Connection con = DriverManager.getConnection(CONNECTIONURL, USERNAME, PASSWORD);
            Statement statement = con.createStatement();
            statement.execute("SHUTDOWN");
            statement.close();
            con.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

Püf Noktası kategorisinden son 5 yazı

  • Share/Bookmark

yorum yok. | 267 kez okundu | yazdır yazdır

 
1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (Değerlendirme bulunmuyor)
Loading ... Loading ...
Tags: ,

RSS feed | Trackback URI

Yorumlar »

Henüz yorum yapılmamış.

İsim (gerekli)
E-posta (gerekli - kimseye gösterilmez)
Websayfanız
Sizin yorumunuz (küçült | büyüt)
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> kullanabilirsiniz.

Trackback Listesi