2009-06-24 16 views
5

Oracle veritabanım için SQLite'ı bir bellek dizesi olarak kullanmayı düşünüyorum. Tüm DAL komutlarını SQLite'ye kolayca yönlendirebilirim, ancak şimdi her test yöntemi için verileri nasıl kolayca doldurmam gerektiğini merak ediyorum.
Her bir yöntem gerekli tabloları oluşturarak ve belirli bir sınama için satırları ekleyerek başlar mı? Fikstür SetUp evresinde hafızadaki verileri doldurmalı mıyım? Başka bir yolu var mı (Bazı dosyalardan okumak gibi, ama değişiklikleri okuduktan sonra bir sonraki okuma aynı olacak)?
Belki de db'yi normal bir saplama ile gömmeli ve gerektiğinde yerel olarak oluşturulan obejct'leri döndürmeliyim (DataSets ve DataTables)? Bunu denemeyi düşündüm, ama bu şekilde geçen gerçek sorguları test etmeyeceğim ve SQL'i seçen birim test yöntemlerini deniyorum. Sorguların sözdizimi ve geçerliliğini de test etmek istiyorum.Birim testi için SQLite'i bellekte doldurma

Bununla ilgili en iyi uygulamalar? Ya da sadece iyi fikirler?

cevap

2

Sadece SQLite-Db-Dosyasını yedekleme hakkında ne dersiniz?

SQLite ile ilgili iyi olan şey, tüm db dosyasını istediğiniz sıklıkta kopyalayabilmenizdir. Bazı db dosyalarını veriyle doldurmak için SQL dosyalarınız da olabilir. Sorununuzu tamamen anlamıyorum, ancak db dosyaları (şablon olarak) ve (isteğe bağlı) karışımları ile tabloları gerektiği gibi doldurmak için gereken bazı SQL Dosyaları da çok zor test sorunları için yeterli olmalıdır.

SQL Dosyaları, basit dosyaları ve (isteğe bağlı) istenmeyen girdileri silerek veya ek olanları ekleyerek kolayca oluşturulabilir.

+0

Yani, başlangıç ​​verilerini içeren bir dosyayı tutmam gerektiğini ve her bir test kopyası için onu sqlite ile açmam gerektiğini düşünüyorsunuz? Korkarım ki testler okunamayacak, çünkü belirli bir sorgu neden 1 satır veya başka bir değer döndürdüğü belli olmayacaktır. Okuyucu giriş dosyası ile her zaman kontrol etmek zorunda kalacaktı. Bu bir problem değil mi? –

+0

Merhaba Noam, tabi ki, sahip olduğunuz test ortamına ve ihtiyaçlarınızın tam olarak ne olduğuna bağlıdır. Tüm bir db dosyasını saklamak, tümünü kod içinde uygulamaya gerek kalmadan karmaşık bir test ortamının kurulmasına yardımcı olabilir. Daha okunabilir hale getirmek istediğinizde, db dosyasını her zaman taze olan döküm dosyalarından da oluşturabilirsiniz. Döküm dosyaları daha okunabilir. Bunu yapmak istediğinizde * tüm * kod içinde, o zaman öylesine - hepsi kod içinde sona erecektir. – Juergen