2009-06-24 3 views
5

Sto pensando di utilizzare SQLite come stub in memoria per il mio database Oracle. Posso facilmente indirizzare tutti i miei comandi DAL a SQLite, ma ora mi chiedo come compilare facilmente i dati per ciascun metodo di prova.
Ogni metodo dovrebbe iniziare creando la/e tabella/e necessaria/e inserendo le righe per il test specifico? Devo compilare i dati nella memoria nella fase di configurazione del dispositivo? C'è un altro modo (come leggerlo da qualche file, ma scartare le modifiche in modo che la prossima lettura sia la stessa)?
Forse dovrei semplicemente stubare il db con uno stub normale e restituire oggetti creati localmente quando necessario (DataSet e DataTables)? Ho pensato di provare questo, ma in questo modo non testerò le query effettive passate e sto provando a metodi di test unitari che eseguono selezioni SQL. Voglio testare anche la sintassi e la validità delle query.Compilazione di SQLite in memoria per il test dell'unità

Qualsiasi procedura migliore in merito? O solo buone idee?

risposta

2

Che ne dici di eseguire il backup di SQLite-Db-File?

La cosa buona di SQLite è, che si può solo copiare l'intero db-file come le volte che vuoi. È anche possibile avere file SQL per popolare alcuni file db con dati. Non capisco del tutto il tuo problema, ma con una combinazione di file db (come modelli) e (facoltativo) alcuni file SQL per riempire le tabelle, se necessario, dovrebbero essere sufficienti anche per problemi di test molto difficili.

Lo SQL-Files può anche facilmente creato dal dumping file semplici e (optionaly) cancellando voci indesiderate o l'aggiunta di ulteriori.

+0

Quindi pensi che dovrei conservare un file contenente i miei dati di avvio, e per ogni test copiarlo e aprirlo con sqlite? Temo che renderà i test illeggibili, in quanto non sarà ovvio perché una determinata query restituisce 1 riga o un altro valore specifico. Il lettore dovrebbe controllare sempre con il file di input. Non è un problema? –

+0

Hi Noam, ovviamente tutto dipende dall'ambiente di test che hai e da quali sono esattamente le tue esigenze. Per memorizzare un intero db-file può aiutare a configurare un ambiente di test complesso senza la necessità di implementarlo tutto in codice. Quando si desidera renderlo più leggibile, è anche possibile creare il file db dai file di dump ogni volta che è fresco. I file di dump sono più leggibili. Quando vuoi averlo * tutto * nel codice, allora è così - finirai tutto in codice. – Juergen