Depende del proyecto. Sí al número 1. Siguiendo con el principio de que todo debería verificarse en el control del código fuente y debería ser sencillo poner en marcha un nuevo desarrollador. Hazlos parte de la base de código. Las nuevas personas pueden hacer un check out y ejecutar las pruebas.
Si se implementan en la producción es un problema diferente. No he trabajado en un proyecto que necesitaba allí.El modelo de despliegue de Rails es (en general) simplemente un check-out de todo el proyecto en una máquina de producción, entonces sí están ahí. Los proyectos Java/Maven tienen un paso completo de compilación/embalaje, y generalmente las pruebas unitarias pueden (y son) eliminarse al compilar el archivo .war final.
De cualquier manera, no esperas que se ejecuten. En el entorno actual, en realidad no importa si se ubican allí; la memoria y el disco son tan baratos que en realidad no es un problema. He escuchado el argumento de que no desea el código de prueba en el servidor de producción para que no exista riesgo de que se ejecute, pero no he oído hablar de un escenario cuando esto realmente suceda.
+1 y borré mi respuesta superflua. – Abizern
De acuerdo en que la compilación de versión debe pasar las pruebas unitarias ... pero ¿implementar el marco de prueba de la unidad junto con el código de producción? –