Pregunta

Algunos de nosotros todavía " en vivo " en un entorno de programación donde aún no se ha aceptado la prueba unitaria. Para comenzar, el primer paso obvio sería tratar de implementar un marco decente para las pruebas unitarias, y supongo que xUnit es el " estándar " ;.

Entonces, ¿cuál es un buen punto de partida para implementar xUnit en un nuevo lenguaje de programación?

Por cierto, ya que la gente pregunta: mi entorno objetivo es Visual Dataflex.

¿Fue útil?

Solución 5

Otros consejos

Para qué idioma se usa: hay bastantes en .

Si esto le impide comenzar a escribir pruebas unitarias, podría comenzar sin un marco de prueba.

Ejemplo en lenguaje de estilo C:

void Main() 
{
  var algorithmToTest = MyUniversalQuestionSolver();
  var question = Answer to { Life, Universe && Everything };

  var actual = algorithmToTest(question);
  var expected = 42;
  if (actual != expected) Error();

  // ... add a bunch of tests
}

Ejemplo en lenguaje al estilo Cobol:

MAIN.
  COMPUTE EXPECTED_ANSWER = 42
  SOLVE ANSWER_TO_EVERYTHING GIVING ACTUAL_ANSWER
  SUBTRACT ACTUAL_ANSWER FROM EXPECTED_ANSWER GIVING DIFFERENCE
  IF DIFFERENCE NOT.EQ 0 THEN
    DISPLAY "ERROR!"
  END-IF

  * ... add a bunch of tests
  STOP RUN

Ejecutar principal después de que haya terminado con un cambio (y posiblemente compilación) en su código. Ejecute main en el servidor siempre que alguien envíe un código a su repositorio.

Cuando te enganches, busca más un marco o ve si puedes factorizar algunos de los bits de Main a tu propio marco.

Sugeriría que un buen punto de partida sería usar xunit en un par de otros idiomas para tener una idea de cómo funciona este estilo de marco de prueba de unidad. Luego, deberá profundizar en el comportamiento y comenzar a descubrir cómo recrear ese comportamiento de una manera que se ajuste a su nuevo idioma.

Creé un marco de prueba de unidad decente en VFP basándolo en el código en prueba Desarrollo dirigido: una guía práctica , por David Astels. Conseguirá un largo camino leyendo los ejemplos, entendiendo las técnicas y traduciendo el código Java a su idioma.

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