2009-04-23 10 views
20

Esistono altri ".NET (2.0) Unit Testing Framework for Database Access Code" oltre a DbUnit.NET?Alternative DbUnit.NET

Ho provato DbUnit.NET e alcune cose non sono supportate. Inoltre, il progetto sembra essere in alpha dal 22 maggio 2006 ...

Stiamo refactoring la nostra architettura per essere in grado di fare prove con quadri di derisione, ma fino a quando il lavoro è fatto mi piacerebbe avere un quadro come DbUnit.NET (ma migliore).

+0

Anche DbUnit.NET non sembra fare tutto ciò che normale DbUnit (per Java) ... hai mai trovato un'altra alternativa? – CodingWithSpike

+0

No, e ho smesso di usare DbUnit.NET. –

risposta

13

Mi sono imbattuto in questo problema alcuni anni fa. Ero infastidito dallo stato di DBUnit.Net. Mancavano funzionalità che erano importanti per me. Grazie a IKVM, non è molto difficile utilizzare la normale versione Java di DBUnit da dotnet. In realtà, sto eseguendo test di integrazione C# in questo momento che stanno utilizzando il DBUnit originale. Ecco come ho convertito la versione Java di DBUnit in un assembly .NET:

  • Scarica IKVM
  • Collocare i seguenti vasi in una directory comune: JUnit Commons-collezioni-3.2.jar commons-logging-1.1.jar -4.1.jar commons-lang-2.2.jar DBUnit-2.2.jar sqljdbc.jar

Ora, dalla riga di comando con una directory di lavoro della directory comune vaso:

ikvmc -target:libary -keyfile:yoursignature.snk -debug -version:2.2.0.0 -out:dbunit.dll *.jar 

È possibile ottenere le librerie necessarie dalle seguenti posizioni:

Se non utilizzano SQL Server come database, quindi sostituisci sqljdbc.jar con il driver JDBC appropriato. Per utilizzare DBUnit direttamente dal proprio codice .Net, includere dbunit.dll e gli assembly IKVM appropriati.

Le versioni del vaso che ho dato qui sono vecchie. Le mie note su questo argomento hanno quasi tre anni. Le versioni più recenti probabilmente funzioneranno, ma non le ho provate.

25

Stiamo usando NDbUnit per uno dei nostri progetti. È un progetto molto più attivo di quello che sembra essere DbUnit.NET.

+2

Il progetto è stato spostato su github: https://github.com/NDbUnit/NDbUnit – Vova

5

consideri tdunit:

TDUnit è un programma di test di unità simile a DBUnit.Net. TDUnit aiuta con l'accesso al database di test delle unità consentendo di mantenere le colonne di identità e le chiavi esterne abilitate sul proprio database di test entro il consentendo i valori di dipendenza all'interno del file XML dei dati di test.

TDUnit utilizza un file XML simile nello spirito a DBUnit per specificare i dati di prova da caricare in un database con una differenza principale. TDUnit consente la creazione di dati di test contenenti colonne di identità e relazioni tra tabelle.Ad esempio in TDUnit è possibile caricare una riga cliente nella tabella Cliente e quindi fare riferimento all'ID automatico generato (Colonna identità) per il cliente nella tabella Ordine. Anche se scritto in C# 3.0 può essere utilizzato da progetti .Net 2.0 come lungo come .Net Framework 3.5 è installato. Specificando i dati del test in file XML, i dati richiesti per i test possono essere mantenuti con i test e TDUnit inserisce e rimuove i dati di test. Ciò consente a il database di test di rimanere vuoto, consentendo modifiche più rapide e la distribuzione più semplice al team.

~ da Descrizione del progetto sulla loro home page.