DBUnit ve Jailer ile Test Verisi Hazırlamak

Preview:

Citation preview

Jailer ve DBUnit ile Veri Hazırlığı OtomasyonuC. OKAN DEMİREL

İçerik• Veritabanı Uygulamalarında Test

• Test Yapmakta Neden Zorlanıyoruz?• Problemimizi Tanımlama

• Verilerle Birlikte Zamanda Yolculuk• Çözüm İçin Neler Yapabiliriz?• Hangi Araçlardan Faydalanabiliriz?

Veritabanı Uygulaması ve Test• Kurumsal Uygulamalar Veritabanı Kullanır• Testler Daha Çok Emek İster

Problem Nedir? Her test öncesi veritabanındaki verilerin beklendiği şekilde hazır hale getirilmesi ve kodun doğru veri ile çalıştığına emin olunması nasıl sağlanacak?

Çözüm İçin Biraz Hayal Gücü

DBUnit• DBUnit, veritabanı uygulamalarını hedefleyen ve JUnit üzerine geliştirilmiş bir altyapıdır.• Her test öncesinde veritabanını bilinen duruma (known state) getirir. • http://www.dbunit.org/

DBUnit Nasıl Çalışır?

Bilinen Durum (Known State)

DBUnit Nasıl Kullanılır?• Testler DBTestCase’den türer.• XML bir veri (dataset) dosyası kullanır.

Datasetler Nasıl Hazırlanacak?

Her test öncesinde verinin veritabanında oluşmasını sağlayacak veri kümeleri (dataset) nasıl hazırlanacak?

Dataset Hazırlama YöntemleriI. Sıfırdan, yardım almadan elle oluşturmakII. DBUnit sınıflarını kullanarak export almakIII. Yardımcı bir program kullanarak export almak

Jailer• http://jailer.sourceforge.net/• Verileri ilişkisel biçimde veri kümesi dosyasına aktarır.

Dataset Dosyası <?xml version="1.0" encoding="windows-1254"?>

<dataset>

<DEPARTMENT DEPTNO="10" NAME="ACCOUNTING" LOCATION="NEW YORK"/>

<DEPARTMENT DEPTNO="30" NAME="SALES" LOCATION="CHICAGO"/>

<EMPLOYEE EMPNO="7839" NAME="KING" JOB="PRESIDENT" HIREDATE="1981-11-17" SALARY="5000.00" DEPTNO="10"/>

<EMPLOYEE EMPNO="7698" NAME="BLAKE" JOB="MANAGER" BOSS="7839" HIREDATE="1981-05-01" SALARY="2850.00" DEPTNO="30"/>

<EMPLOYEE EMPNO="7499" NAME="ALLEN" JOB="SALESMAN" BOSS="7698" HIREDATE="1981-02-20" SALARY="1600.00" COMM="300.00" DEPTNO="30"/>

</dataset>

Bulmacanın Çözümü

DBUnit

Jailer

Jenk

ins

SoapUI

GEB

Automated Test’s Data

Teşekkürler Görüş ve sorularınız varsa alabilirim.

Recommended