Pregunta

¿Cómo se puede configurar DUnit Testing en un proyecto Midas / DataSnap en Delphi 2006

?

Editar

¿Cómo se configura una prueba Dunit en un TRemoteDataModule? El asistente de proyectos en Delphi 2006 no funciona con TRemoteDataModule

¿Fue útil?

Solución

La pregunta no tiene completamente sentido. Las pruebas unitarias se realizan en un proyecto separado, no dentro de su servidor DataSnap. Generalmente, las pruebas que se conectan a una base de datos son pruebas de integración en lugar de pruebas unitarias. ¿Qué es exactamente lo que quieres probar? Si se trata de métodos de utilidad dentro de, digamos, un TRemoteDataModule, debe extraerlos en una clase separada como métodos de clase y probarlos allí. No debería tener que crear una instancia de un servidor de aplicaciones para realizar pruebas unitarias.

Otros consejos

Perdón por la breve respuesta anterior, el iPad publica cada vez que presiono regresar mientras edito una publicación.

dUnit está diseñado para realizar pruebas unitarias, y lo que estás tratando de hacer NO es una prueba unitaria.

Una prueba no es una prueba unitaria si:

  • Habla con la base de datos
  • Se comunica a través de la red
  • Toca el sistema de archivos
  • No puede ejecutarse al mismo tiempo que cualquiera de sus otras pruebas unitarias
  • Tienes que hacer cosas especiales en tu entorno (como editar archivos de configuración) para ejecutarlo.
  • No puede ejecutarse de forma aislada

Si sigues los principios SOLID (especialmente el principio de responsabilidad única), usar dUnit para probar tu clase (sin probar la lógica relacionada con Midas / DataSnap) debería ser razonablemente simple. Y realmente, no debería necesitar probar la lógica Midas / DataSnap.

Pero hay formas de realizar pruebas de integración y comportamiento en aplicaciones Delphi.

Personalmente, no usaría TestComplete porque no se integra bien con ningún tipo de servidor CI y las pruebas se almacenan en un formato binario propietario (lo que hace que fusionar diferencias o mantener los cambios en cualquier sistema de control de origen sea problemático).

Puedes intentar dSpec , pero no estoy seguro de que Jody Dawkins lo esté manteniendo.

He usado el AutoIt lenguaje de scripts BÁSICO directamente en algunos proyectos, y también usé su Ensamblado .NET para manejar una aplicación Delphi usando NUnit y C # en otro. Si bien no es perfecta, la solución NUnit / C # fue más elegante que cualquier cosa que haya visto para realizar aplicaciones de Delphi de pruebas funcionales / de comportamiento. Sin embargo, me costó un poco configurarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top