Pregunta

Sí, sé que estoy muy atrasado, pero lo que tengo aquí es una aplicación antigua de editor VB6 que creo que nadie actualizará a .NET pronto. Utiliza un par de herramientas de DLL de terceros y, como todavía usa el viejo y rico control RichEdit, básicamente puedo crear mi propia granja de errores con solo esta herramienta.

Entonces, suficiente es suficiente y estoy tratando de ver si puedo usar TDD para poder comenzar a escribir pruebas unitarias para cada comportamiento / característica que necesito corregir, así que tarde o temprano puedo tener un conjunto completo de pruebas de regresión para esta herramienta. E incluso en el futuro, si realizamos la actualización a .NET, creo que la mayoría de las pruebas que he escrito deberían ser útiles para validar el comportamiento correcto y también deberían actualizarse a una versión .NET, supongo.

Algunos Google básicos me envían a esta herramienta llamada simplyVBunit , pero no puedo encontrar suficientes guías, etc. para comenzar y sí, tampoco soy tan competente con VB6 :(

  1. Entonces, ¿alguien sabe de algo bueno? herramientas / recursos para que yo use TDD para esta aplicación VB6? [Preferiblemente actualizable a .NET más tarde por si acaso.]
  2. O realmente puedo usar esas unidades marco de prueba para .NET, es decir, NUnit, etc a través de una solución?
  3. ¿O hay una aún más asombrosa? ¿Cómo hacer esto?

Gracias :)

EDITAR:

He intentado jugar con vbunit pero descubrí que no hay una manera fácil de agregarlo a una aplicación existente o al menos no a mi saber cómo. Por lo tanto, también he encontrado esto para jugar, vb-lite-unit y también esto comunit . Además, se dice que podemos usar NUnit con vb6 pero hay incluso menos recurso sobre eso.

¿Fue útil?

Solución

VBUnit funcionó bien para mí en un antiguo cliente en un proyecto VB6.

Otros consejos

He tenido una experiencia TDD muy fluida con SimplyVBUnit. Pensé que la muestra con la que viene el código se explica por sí misma.

Su formulario inicialmente cargado al inicio contiene el control. Luego, en el formulario Form_Load sub:

 AddTest New TestDifferentAsserts

TestDifferentAsserts es una clase vb. Se parece a esto:

Public Sub TestFloatCompareTolerance()
   ' we will use the default tolerance of 0.00001
   Assert.AreEqual 9#, 9.000001, "Should be equal!"

   ' The Expected value must be a Double or Single
   ' for the tolerance to be used in the comparison.
   Assert.AreEqual 9, 9.000001, "This will fail because we didn't use a float for the expected value."
End Sub

De hecho, mañana volveré a cargar vb6 en mi computadora para hackear mi computadora con simplemente vbunit.

[EDICIÓN AÑADIDA]

Este es mi explorador de proyectos en VB6:

explorador de proyectos

Form1 es donde se encuentra el control simplyvbunit.

El código fuente para este proyecto.

Si tiene controles de terceros, a quién le importa. Envuélvelos con una fachada. Luego crea un trozo de la fachada.

Si necesita más ayuda, deje un comentario.

Estoy en la situación en la que tenemos una gran aplicación VB6 que está en camino de migrarse a .NET. La versión migrada se prueba completamente en la unidad.

El enfoque que hemos tomado es probar la aplicación VB6 desde .NET a través de interoperabilidad COM. La principal ventaja que encontramos hasta ahora es que los desarrolladores de VB6 terminan aprendiendo TDD (y todo lo que implica):

  • Metodología: prueba primero, código después ..
  • Arquitectura: SoC, cohesión, SECO, ...
  • Tecnología: marcos de prueba y burla, contenedores IoC ...

Esta solución está mejorando enormemente la calidad del código de la versión migrada, ya que entienden cómo diseñar las cosas de una manera que facilite las pruebas. Además, existe una oportunidad potencial para usar las mismas pruebas en el VB6 y la versión .NET.

No estoy seguro si esta solución tiene una arquitectura excesiva para su problema. Debe evaluar si es o no aplicable o adecuado en su situación.

Saludos.

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