2009-04-23 15 views
20

¿Hay otro '.NET (2.0) Unidad de marco de prueba para el código de acceso a la base de datos' además de DbUnit.NET?DbUnit.NET Alternativas

He estado probando DbUnit.NET y algunas cosas no son compatibles. Además, el proyecto parece estar en alfa desde el 22 de mayo de 2006 ...

Estamos refacturando nuestra arquitectura para poder hacer pruebas con marcos de burla, pero hasta que ese trabajo esté terminado me gustaría tener un marco como DbUnit.NET (pero mejor).

+0

DbUnit.NET tampoco parece hacer todo lo que hace DbUnit (para Java) ... ¿alguna vez encontró otra alternativa? – CodingWithSpike

+0

No, y dejé de usar DbUnit.NET. –

Respuesta

13

Me encontré con este problema hace unos años. Estaba molesto con el estado de DBUnit.Net. Le faltaban características que eran importantes para mí. Gracias a IKVM, no es muy difícil usar la versión Java normal de DBUnit desde dotnet. De hecho, estoy ejecutando pruebas de integración de C# en este momento que están usando el DBUnit original. Así es como me convertí la versión Java de DBUnit en un conjunto .Net:

  • Descargar IKVM
  • Coloque los siguientes frascos en un directorio común: junit Commons-collections-3.2.jar commons-logging-1.1.jar -4.1.jar commons-lang-2.2.jar DBUnit-2.2.jar sqljdbc.jar

Ahora, desde la línea de comandos con un directorio de trabajo del directorio tarro común:

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

Puede encontrar las bibliotecas necesarias de las siguientes ubicaciones:

Si no está utilizando SQL Server como su base de datos, luego reemplace sqljdbc.jar con el controlador JDBC apropiado. Para usar DBUnit directamente desde su código .Net, incluya dbunit.dll y los ensamblajes IKVM apropiados.

Las versiones de jar que he dado aquí son antiguas. Mis notas sobre este tema tienen casi tres años. Las versiones más nuevas probablemente funcionen, pero no las he probado.

25

Estamos usando NDbUnit para uno de nuestros proyectos. Es un proyecto mucho más activo que DbUnit.NET parece ser.

+2

Proyecto movido a github: https://github.com/NDbUnit/NDbUnit – Vova

5

Considere tdunit:

TDUnit es una utilidad de la unidad de pruebas similares a DBUnit.Net. TDUnit ayuda a con el acceso a la base de datos de pruebas unitarias permitiéndole mantener columnas de identidad y restricciones de clave externa habilitadas en su base de datos de prueba por permitiendo valores de dependencia dentro del archivo XML de datos de prueba.

TDUnit utiliza un archivo XML similar en espíritu a DBUnit para especificar los datos de prueba que se cargarán en una base de datos con una diferencia importante. TDUnit permite la creación de datos de prueba que contienen las columnas de identidad y las relaciones entre las tablas.Por ejemplo, en TDUnit puede cargar una fila de cliente en la tabla Cliente y luego hacer referencia al ID generado automáticamente (Columna de identidad) para el cliente en la tabla de Pedidos. Aunque está escrito en C# 3.0, se puede usar desde proyectos .Net 2.0 como siempre que esté instalado .Net Framework 3.5. Al especificar los datos de la prueba en archivos XML, los datos necesarios para las pruebas se pueden conservar con las pruebas y TDUnit inserta y elimina los datos de la prueba. Esto permite que su base de datos de prueba permanezca vacía, lo que permite cambios más rápidos y distribución más fácil para el equipo.

~ de Descripción del proyecto en su página de inicio.