2008-09-22 12 views

Respuesta

29

Sí, no hay ninguna razón para no ponerlos en control de fuente. ¿Qué pasa si las pruebas cambian? ¿Qué pasa si las interfaces cambian, necesitando que las pruebas cambien?

+1

Idealmente, cambia las pruebas para demostrar su cambio (y falla), luego realice el cambio a su código para pasar la prueba. Una vez que las pruebas vuelvan a pasar, revíselo todo al control de fuente. Es un desarrollo impulsado por pruebas. –

3

Absolutamente. Las clases de prueba deben mantenerse actualizadas con el código. Esto significa registrarlo y ejecutar las pruebas en integración continua.

0

Sí, deberían. Las personas que consulten la última versión deberían poder probar el código en su máquina. Esto ayudará a identificar las dependencias faltantes y también puede proporcionarles documentación no oficial sobre cómo funciona el código.

0

Sí.

Código de prueba es un código. Debe mantenerse, refactorizarse y versionarse. Es una parte de la fuente de su sistema.

4

Sí, todas las mismas razones por las que pone el código de producción en el control de fuente todavía se aplican a cualquier prueba de unidad que escriba.

Es el clásico quién, dónde y por qué preguntas:

  • que cambiaron el código?
  • ¿Cuándo lo cambiaron?
  • ¿Para qué lo cambiaron?

Estas preguntas son tan pertinentes para el código de prueba como lo son para el código de producción. Debes poner tu código de prueba unitario en el repositorio.

0

Absolutamente, deben ser tratados como ciudadanos de primera clase de su código base. Necesitarán todo el amor y cuidado, es decir, el mantenimiento como lo hace cualquier pieza de código.

0

Sí, deberían. Debería verificar las pruebas y ejecutarlas cada vez que realice cambios en el código. Si los colocas en otro lugar, es mucho más problemático ejecutarlos.

2

¡Absolutamente! Las clases de prueba son código fuente y deben ser administradas como cualquier otro código fuente. Deberá modificarlos, realizar un seguimiento de las versiones y conocer el historial de mantenimiento.

También debe mantener los datos de prueba bajo control de fuente a menos que sea masivamente grande.

0

Sí. Por todas las otras razones mencionadas aquí, además del hecho de que a medida que cambia la funcionalidad, su conjunto de pruebas cambiará, y debería ser fácil obtener el conjunto de pruebas correcto para cualquier lanzamiento, rama, etc. y tener las pruebas no solo en control de versiones, pero el mismo repositorio que tu código es la forma de lograrlo.

0

Absolutamente. Es probable que descubra que a medida que cambia el código, es posible que las pruebas también tengan que cambiar, por lo que es probable que desee tener un registro de esos cambios, especialmente si las pruebas o el código dejan de funcionar de repente. ;-)

Además, las cajas de prueba de la unidad deben mantenerse lo más cerca posible del código real que están probando (la parte inferior del mismo archivo parece ser el estándar). Es tanto por conveniencia como por mantenimiento.

Para obtener más información sobre lo que hace una buena prueba de unidad, consulte this stackoverflow post.

1

Las pruebas unitarias deben estar vinculadas a una base de código en su repositorio.

Por nada más que si tiene que producir una versión de mantenimiento para una versión anterior, puede garantizar que, según la métrica de las pruebas unitarias, el código no es peor que antes (y con suerte ahora es mejor)

0

Sí, por todos los motivos anteriores, también si está utilizando un servidor de integración continua que está "viendo" su control de fuente puede hacer que ejecute las últimas pruebas de unidad en cada confirmación.

Esto significa que una compilación fallada resulta de la falla de las pruebas de la unidad y del código no compilado.

1

De hecho sí. ¿Cómo podría alguien pensar lo contrario?

Si utiliza ramas de código, intente que el código de prueba encaje naturalmente en la línea de código principal, de modo que cuando se bifurque, las versiones correctas de las pruebas también se ramifiquen.

Cuestiones relacionadas